调试之断言宏

Posted jieruishu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了调试之断言宏相关的知识,希望对你有一定的参考价值。

LWIP_ERROR("tcp_connect: can only connect from state CLOSED", pcb->state == CLOSED, return ERR_ISCONN);

#ifndef LWIP_PLATFORM_ASSERT
  #define LWIP_PLATFORM_ASSERT(x) do { if(!(x)) while(1); } while(0)
#endif

#ifndef LWIP_NOASSERT
#define LWIP_ASSERT(message, assertion) do { if(!(assertion))
  LWIP_PLATFORM_ASSERT(message); } while(0)

#ifndef LWIP_ERROR  //开关宏
#define LWIP_ERROR(message, expression, handler) do { if (!(expression)) {

  LWIP_PLATFORM_ASSERT(message);

  handler;}} while(0)
#endif /* LWIP_ERROR */

 

以上是关于调试之断言宏的主要内容,如果未能解决你的问题,请参考以下文章

静态和动态断言调试

iOS - 断言处理与调试

assert断言检测

Java 之 assert (断言)

Qt程序调试之Q_ASSERT断言(条件为真则跳过,否则直接异常+崩溃)

防御式编程之断言assert的使用