我一直在研究Scott Chamberlain here提供的解决方案,该解决方案将现有调试器附加到进程A(由B启动)上。
在A的ICommand
中,我有这些:
Process.Start(@"C:\...\General.exe", Name);
Application.Current.Shutdown();
,这样在视图中将B的DataContext
设置为Code.cs
:
<Window.DataContext>
<local:Code/>
</Window.DataContext>
在构造函数中,我拥有这些:
Debugger.Launch();
Name = Environment.GetCommandLineArgs().Skip(1).First();
它在GroupBox
的{{1}}中启动JIT调试器BUT,我总是有一个选择:
...的新实例
如何在Possible Debuggers
列表中获取附加到A
的现有调试器?
A和B都在同一个解决方案中。
答案 0 :(得分:1)
除了 Scott's 答案中所述的解决方法之外,您还可以尝试使用扩展名:Microsoft Child Process Debugging Power Tool。此扩展名使Visual Studio在我们启用{{ 1}}。(如果要调试.net代码,则需要确保选择混合模式)
目前,它支持VS2013〜VS2019。您可以查看this blog的更多详细信息。希望对您有所帮助:)