首页 > 解决方案 > 如何在现有调试器中附加子进程?

问题描述

我一直在查看 Scott Chamberlain 提供的解决方案将现有的调试器附加到 A 启动的进程 B。

ICommandA 我有这些:

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(); 

它启动 JIT 调试器,但GroupBoxPossible Debuggers总是有一个选项:

...的新实例

如何APossible Debuggers列表中获取附加到 的现有调试器?A和B都在同一个解决方案中。

标签: c#wpfvisual-studio-debuggingchild-process

解决方案


除了Scott 的回答中描述的解决方法,您还可以尝试使用扩展:Microsoft Child Process Debugging Power Tool。这个扩展允许 Visual Studio 在我们启用选项后自动调试子进程Debug=>Other Debug Targets=>Child Process Debugging Settings。(我们需要确保选择混合如果我们正在调试 .net 代码,则为模式)

目前支持VS2013~VS2019。更多细节你可以查看这个博客。希望能帮助到你 :)


推荐阅读