我有一個的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