【发布时间】:2010-12-06 09:27:09
【问题描述】:
我们有一个使用 Qt 的 QProcess(无疑是 CreateProcess() 的包装器)生成的 C++ Win32 应用程序,这是一个辅助“从属”程序。
很遗憾,在使用 Visual Studio 2008 调试系统时,调试器不会自动附加到生成的进程。
我知道可以使用 __debugbreak() 以编程方式触发调试器断点,但是从属程序是否有可能在启动时立即抛出“选择要调试的程序”窗口,因为此时我们必须比赛手动附加到新进程?
【问题讨论】:
-
尝试在从属程序的开头添加_asm int 3。使用调试符号编译并使用 Visual Studio 2008 作为 JIT 调试器。
-
@toto:这基本上和调用 DebugBreak() 一样。
-
你知道真正的悲剧是存在操作系统级别的钩子 - 当调试器创建一个进程时,它会指定标志,以便在启动子进程时自动通知它。 10 年后,我们的开发环境仍然不支持它们:(
标签: c++ windows visual-studio qt winapi