【发布时间】:2012-08-09 17:16:00
【问题描述】:
我已经知道Debugger.IsAttached 用于确定我的应用当前是否正在运行时进行调试。如何确定更多关于调试器本身的信息?
例如,我如何区分我的应用是从 Visual Studio 调试的,还是我的应用是由 WinDbg 调试的?
在我的场景中,应用程序不是从 Visual Studio 启动的。调试器可以附加到已经运行的进程。
【问题讨论】:
-
你为什么要这样做?
-
也许在 DRM 中;他想阻止应用程序调试他的应用程序。
-
没有可靠的方法来做到这一点。还有更多其他的调试器......你为什么需要知道?
-
错误或正确,我知道的原因是我有一些代码要执行,用于调试目的,只有在由 VS 的开发人员运行时。当有人将任何其他调试器附加到应用程序时,我不希望代码执行。现在我只是使用 Debugger.IsAttached 来代替找到一种好方法来做我需要的事情。
标签: .net debugging windbg visual-studio-debugging