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.