【发布时间】:2014-07-06 05:08:36
【问题描述】:
我正在开发一个内核模块。如果发生特定错误,我想闯入调试器或以其他方式停止执行。
如何有条件地触发错误条件
- 在启用优化时移除
和
- 启用优化时哪个不会删除?
【问题讨论】:
标签: freebsd kernel-module
我正在开发一个内核模块。如果发生特定错误,我想闯入调试器或以其他方式停止执行。
如何有条件地触发错误条件
和
【问题讨论】:
标签: freebsd kernel-module
使用卡塞特。它与用户空间 assert() 略有不同;像这样使用它:
KASSERT(x == y, ("%s: %d != %d", func, x, y));
如果在内核配置中定义了 INVARIANTS 选项,则启用 KASSERT。在 11-CURRENT 中默认启用;在稳定版本中它被禁用。
【讨论】: