2010-05-07 47 views
5

如何在运行时确定Visual Studio调试器是否附加到您的过程。我已经看到了如何在.NET中执行此操作的说明,但我的过程是本机C++过程。支持检测即时调试会很好,但不是一个严格的要求。如何在运行时确定C++应用程序连接了Visual Studio调试器?

+0

你问的方式,如果调试从调试器附加到进程中的连接进行检测,或从不同的外部进程? – tloach 2010-05-07 14:48:07

+0

从调试器附加到的进程中。 IsDebuggerPresent按照以下建议工作。 – 2010-05-07 15:34:30

+0

可能重复http://stackoverflow.com/questions/101806/check-if-application-was-started-from-within-visual-studio – Suma 2010-05-07 17:07:32

回答

13

Win32调用IsDebuggerPresent()听起来像它应该工作。

+0

谢谢。这正是我需要的。 – 2010-05-07 15:09:00

+0

我使用了这种方法,但随后在以下链接中看到了博客,他声称他通过脚本无法解析IsDebuggerPresent,因此此方法可能会有问题: https://blogs.msdn.microsoft.com/debuggingtoolbox/2007/05/ 23/windbg-script-disable-isdebuggerpresent/ – TBD 2016-03-22 06:31:17

4
+0

+1是正确答案,即使比unwind的答案迟了2分钟。也感谢你。 – 2010-05-07 15:09:57

相关问题