5

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

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

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

有解决办法吗?

到目前为止,我所做的是禁用该CreateNewProcess()方法,在应该发生的位置放置一个断点,然后手动调试项目,然后使用两个 Visual Studio 从该断点继续 WPF 应用程序。

4

2 回答 2

4

使用调试器设置下的注册表项

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

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

于 2013-08-11T13:10:09.710 回答
2

You could try installing the following extension from the Visual Studio team: Introducing the Child Process Debugging Power Tool. It is available on the Gallery for Visual Studio 2013 and above.

It allows automatically attaching child processes to the current debugger, so in your case, the child process started by the WPF app would be attached to the debugger upon launch, and you could therefore easily intercept the main method of the child process.

于 2015-08-21T09:50:49.887 回答