我有一个的powershell脚本和我通过[Reflection.Assembly] ::负载加载DLL加载到PowerShell的进程时调试C#DLL?它甚至有可能吗?
我要放置brakepoints成DLL的源代码,添加手表等
附着到的powershell过程没有工作(实际上我尝试了powershell ise)。没有其他进程要附加到。有任何想法吗?一旦出现异常(这是我的例外,所以这应该发生)出现在VS,但我不能再现它。
我有一个的powershell脚本和我通过[Reflection.Assembly] ::负载加载DLL加载到PowerShell的进程时调试C#DLL?它甚至有可能吗?
我要放置brakepoints成DLL的源代码,添加手表等
附着到的powershell过程没有工作(实际上我尝试了powershell ise)。没有其他进程要附加到。有任何想法吗?一旦出现异常(这是我的例外,所以这应该发生)出现在VS,但我不能再现它。
作为替代方案,你可以在你的库中创建一个辅助类:
namespace Something {
public static class DebugHelper {
public static void AttachDebugger() {
System.Diagnostics.Debugger.Launch();
}
}
}
然后,您可以调用该方法从PowerShell中,你将得到调试器附着。
我注意到有时它不起作用。 VS启动但是异常不会被捕获。 请注意,我直接从电源外壳使用这条线: [System.Diagnostics.Debugger] :: Launch() – naeron84
我的想法是使用[Something.DebugHelper] :: AttachDebugger(),所以你的代码中有调试器,然后很容易添加断点等,但可能你的解决方案更简单。 –
我肯定通过附加到powershell.exe进程调试C#代码。我无法回想起ISE这样做,但我不知道为什么这不起作用。 – OldFart