如何检测c中是否附加调试器?
发布时间:2020-12-16 03:37:06 所属栏目:百科 来源:网络整理
导读:我创建了一个宏, #define DEBUG_BREAK(a) if (a) __asm int 3; 但问题是如果没有附加调试器,程序将运行不正确. 所以我需要知道是否附加了调试器.如果有一个调试器,应用程序应该调用int 3.否则,它不应该调用. 我怎么能这样做? 解决方法 你可以使用 CheckRemo
我创建了一个宏,
#define DEBUG_BREAK(a) if (a) __asm int 3; 但问题是如果没有附加调试器,程序将运行不正确. 所以我需要知道是否附加了调试器.如果有一个调试器,应用程序应该调用int 3.否则,它不应该调用. 我怎么能这样做? 解决方法
你可以使用
CheckRemoteDebuggerPresent 或
IsDebuggerPresent – 不,CheckRemoteDebuggerPresent并不一定意味着调试器在不同的机器上运行,只是在系统中有一个可以处理断点等的调试过程(当使用远程调试器时,有目标系统上的一个小过程,它来自哪里).
编辑:在这一点上,我肯定会建议某种形式的功能,而不是宏. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |