【问题标题】:Visual studio debug child process on its startupVisual Studio 在其启动时调试子进程
【发布时间】:2013-08-06 09:13:19
【问题描述】:

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

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

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

有解决办法吗?

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

    • 请在您的答案中包含解决方案的相关部分。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2023-03-07
      • 1970-01-01
      • 2012-04-11
      • 2015-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多