C++ 在调试版本中抑制断言
C++ suppress assertions in debug build
我有我的 wxWidgets client/server 应用程序并且在 wxWidgets 网络内容中遇到了一个复杂的错误。说来话长,这里略过
wxWidgets 代码使用了断言,所以我无法像异常一样捕获它。
我可以在调试模式下编译时抑制断言吗?
每次断言发生时,都会出现wxWidget的断言信息window,所以用户需要按"Continue"或"Abort"按钮。如果我抓不到(断言也不例外),我想压制它。
如果你在谈论标准 assert
macro,你可以通过定义 NDEBUG
宏来关闭它。
If NDEBUG is defined as a macro name at the point in the source code
where <cassert>
is included, then assert
does nothing.
我有我的 wxWidgets client/server 应用程序并且在 wxWidgets 网络内容中遇到了一个复杂的错误。说来话长,这里略过
wxWidgets 代码使用了断言,所以我无法像异常一样捕获它。
我可以在调试模式下编译时抑制断言吗?
每次断言发生时,都会出现wxWidget的断言信息window,所以用户需要按"Continue"或"Abort"按钮。如果我抓不到(断言也不例外),我想压制它。
如果你在谈论标准 assert
macro,你可以通过定义 NDEBUG
宏来关闭它。
If NDEBUG is defined as a macro name at the point in the source code where
<cassert>
is included, thenassert
does nothing.