如何在现有的调试器中附加子进程?

时间:2019-11-22 18:53:53

标签: c# wpf visual-studio-debugging child-process

我一直在研究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都在同一个解决方案中。

1 个答案:

答案 0 :(得分:1)

除了 Scott's 答案中所述的解决方法之外,您还可以尝试使用扩展名:Microsoft Child Process Debugging Power Tool。此扩展名使Visual Studio在我们启用{{ 1}}。(如果要调试.net代码,则需要确保选择混合模式)

目前,它支持VS2013〜VS2019。您可以查看this blog的更多详细信息。希望对您有所帮助:)