KASSERT(9) FreeBSD カーネル開発者マニュアル KASSERT(9)
名称
KASSERT − カーネル数式検証マクロ |
書式
options INVARIANTS #include <sys/param.h> |
#include <sys/systm.h> |
KASSERT(expression, msg); |
解説 |
options INVARIANTS オプション付きでコンパイルされたカーネル内では、 KASSERT() マクロは与えられた数式 expression をテストし、それが偽である場 合には panic(9) 関数を呼び出し、稼働中のシステムを停止させます。 options INVARIANTS オプションの無いカーネル内では、 KASSERT() マクロは何 もしない様に定義されます。第 2 引数は、 printf(9) フォーマット文字列とそ の引数を括弧に括ったものです。 |
使用例
カーネル関数 vput() は、 NULL ポインタを引数として呼び出されてはなりませ ん。 void vput(vp) struct vnode *vp; { |
struct proc *p = curproc; |
||
KASSERT(vp != NULL, ("vput: null vp")); |
||
... |
} |
関連項目
作者
このマニュアルページは Jonathan M. Bresler 〈jmb@FreeBSD.org〉 が書きまし た。 FreeBSD 10.0 January 14, 2000 FreeBSD 10.0 |