Visual Studio在启动时调试子进程

时间:2013-08-05 15:28:50

标签: debugging visual-studio-2012 visual-studio-debugging

我在加载(一些WCF服务)后有一个WPF应用程序,我正在运行一个子进程(Gui less Windows Application)。这两个项目都在我的解决方案中

我希望调试它们。我知道如果我在“多个启动项目”下的解决方案属性中同时设置action = start,我可以调试两个项目。

但事实并非如此,因为WPF应用程序在X时间之后启动了子进程。而且我不能“附加到进程”,因为我想要捕获子进程的主要方法。

有解决方案吗?

我到目前为止所做的是禁用CreateNewProcess()方法,在应该出现的地方放置一个断点,然后手动调试项目,然后使用两个可视化工作室从该断点继续WPF应用程序。

2 个答案:

答案 0 :(得分:3)

使用

下的调试器设置注册表项
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

作为described in this blog post使子进程在启动时自动中断。然后,在出现提示时,选择您用于调试父进程的Visual Studio实例。

答案 1 :(得分:1)

您可以尝试从Visual Studio团队安装以下扩展程序:Introducing the Child Process Debugging Power Tool。它适用于Visual Studio 2013及更高版本的Gallery

它允许自动将子进程附加到当前调试器,因此在您的情况下,WPF应用程序启动的子进程将在启动时附加到调试器,因此您可以轻松拦截子进程的主要方法。