微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在不包含Windows.h的情况下获取IsDebuggerPresent的声明?

这与如何安装DebugBreak处理程序有关? 以及如何获得DebugBreak的声明,而不包括Windows.h? 。 我们希望使用IsDebuggerPresent()来避免使用DebugBreak()没有debugging器出现的崩溃。

我们遇到的问题是,我们必须包含<windows.h> ,即使在定义了WIN32_LEAN_AND_MEAN ,也会带来很多额外的负担。 一些额外的cruft,如min和max ,打破了C ++编译。 事实上,testing我们的变化打破了我们。

试图做一个简单的extern BOOL IsDebuggerPresent()需要大量的预处理器魔术,并且不匹配所有函数版本的签名。 考虑到我们希望确保15年的操作系统和编译器“正常工作”,这似乎是一个棘手的问题。

是否有可能使用IsDebuggerPresent()而不包括<windows.h> ? 如果是这样,那么我们该怎么做呢?

当assert()失败时,程序退出代码是什么?

我如何获得有关该错误的更多信息?

一个subprocess会在abort()上发送SIGCHLD吗?

如何获得DebugBreak声明,而不包括Windows.h?

在Linux内核中使用断言

如何在python中运行时捕获断言(在C ++中导致)

Pthread互斥断言错误

OpenCV错误:断言失败(a_size.width == len)

如何安装DebugBreak处理程序?

在Linux上失败的断言后继续debugging?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐