码迷,mamicode.com
首页 > 其他好文 > 详细

QT: 自定义断言;

时间:2018-05-11 10:41:58      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:highlight   min   完美   http   论坛   https   fun   forum   long   

使用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: 自定义断言;

标签:highlight   min   完美   http   论坛   https   fun   forum   long   

原文地址:https://www.cnblogs.com/yinwei-space/p/9023132.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!