标签: freebsd kernel-module
我正在开发一个内核模块。如果发生特定错误,我想进入调试器或以其他方式停止执行。
如何有条件地触发错误条件
和
答案 0 :(得分:3)
使用KASSERT。它与用户空间assert()略有不同;像这样使用它:
KASSERT(x == y,(“%s:%d!=%d”, func ,x,y));
如果在内核配置中定义了INVARIANTS选项,则启用KASSERT。在11-CURRENT中,它默认启用;在稳定版本中它被禁用。