我在加载(一些WCF服务)后有一个WPF应用程序,我正在运行一个子进程(Gui less Windows Application)。这两个项目都在我的解决方案中
我希望调试它们。我知道如果我在“多个启动项目”下的解决方案属性中同时设置action = start,我可以调试两个项目。
但事实并非如此,因为WPF应用程序在X时间之后启动了子进程。而且我不能“附加到进程”,因为我想要捕获子进程的主要方法。
有解决方案吗?
我到目前为止所做的是禁用CreateNewProcess()
方法,在应该出现的地方放置一个断点,然后手动调试项目,然后使用两个可视化工作室从该断点继续WPF应用程序。
答案 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应用程序启动的子进程将在启动时附加到调试器,因此您可以轻松拦截子进程的主要方法。