我在VS2010中开发了一个C ++应用程序。此应用程序能够在需要时重新启动(某些更改需要重新启动)。现在,只有在重新启动后新实例开始时的某些情况下才会出现一些错误。问题是我无法找到它是什么,因为新实例没有连接调试器(VS调试模式以初始实例关闭结束)。知道如何自动将调试器附加到新实例吗?
谢谢
答案 0 :(得分:3)
我“发现”在感染了一些恶意软件之后如何做到这一点,这些恶意软件使用相同的技术来包装对防病毒产品的所有调用,以将它们重定向到它自己的可执行文件!
总结the steps described here,它只涉及一些注册表编辑。 FWIW,DebugDiag
等工具也曾使用此方法来捕获应用程序启动并激活调试器:
设置应用程序以自动启动调试程序
启动注册表编辑器(regedit)。
在注册表编辑器中,打开HKEY_LOCAL_MACHINE
文件夹。
导航至HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\image file execution options
。
在映像文件执行选项文件夹中,找到要调试的应用程序的名称,例如 myapp.exe 。如果找不到要调试的应用程序:
一个。右键单击图像文件执行选项文件夹,然后在快捷菜单上单击新建密钥。
湾右键单击新密钥,然后在快捷菜单上单击重命名
C。编辑应用程序名称的密钥名称;在此示例中, myapp.exe 。
右键单击 myapp.exe 文件夹,然后在快捷菜单上单击新字符串值。
右键单击新字符串值,然后在快捷菜单上单击重命名。
将名称更改为debugger
。
右键单击新字符串值,然后在快捷菜单上单击修改。
出现编辑字符串对话框。
在值数据框中,键入 vsjitdebugger.exe 。
点击确定。
在注册表菜单中,点击退出。
包含 vsjitdebugger.exe 的目录必须位于系统路径中。有关完整说明,请参阅上面的链接。
现在,使用任何方法启动您的应用程序。 Visual Studio将在调试器中启动并加载应用程序。