QT: 自定义断言;
Posted 穿越王子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT: 自定义断言;相关的知识,希望对你有一定的参考价值。
使用Qt creator + mingw + gdb进行qt项目开发时,应用Q_ASSERT进行断言总是会出现问题: 断言失败,程序崩溃而不是停止;
采用自定义断言能完美解决该问题(方法取自于国外论坛);
/** 自定义断言 */ #define IQS_ASSERT 2 #if IQS_ASSERT == 1 #define iQsAssert Q_ASSERT #elif IQS_ASSERT == 2 #define iQsAssert(cond) { if(!(cond)) { qDebug("ASSERT: %s in %s (%s:%u)",#cond, Q_FUNC_INFO, __FILE__, __LINE__); asm("int $3"); }} #else #define iQsAssert(cond) {} #endif
通过修改IQS_ASSERT能切换断言方式;
国外论坛: https://forum.qt.io/topic/12842/q_assert-no-longer-pauses-debugger/17
以上是关于QT: 自定义断言;的主要内容,如果未能解决你的问题,请参考以下文章