前馈科技

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 15126|回复: 0

关于NuttX的DEBUGASSERT

[复制链接]

97

主题

97

帖子

539

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
539
发表于 2020-3-14 09:07:12 | 显示全部楼层 |阅读模式
nuttx的DEBUGASSERT定义于/nuttx/include/assert.h
在menuconfig中使能DEBUG ASSERTIONS后DEBUGASSERT被定义,否则为空:
Screenshot from 2020-03-14 09-36-01.png
DEBUGASSERT的条件为false时将调用PANIC()停止系统运行。
#define ASSERT(f)        do { if (!(f)) PANIC(); } while (0)
#define VERIFY(f)        do { if ((f) < 0) PANIC(); } while (0)

#ifdef CONFIG_DEBUG_ASSERTIONS
#  define DEBUGPANIC()   PANIC()
#  define DEBUGASSERT(f) ASSERT(f)
#  define DEBUGVERIFY(f) VERIFY(f)
#else
#  define DEBUGPANIC()
#  define DEBUGASSERT(f)
#  define DEBUGVERIFY(f) ((void)(f))
#endif



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|计算机控制

GMT+8, 2024-5-2 05:44 , Processed in 0.082575 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表