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 |