EN JA
KASSERT(9)
KASSERT(9) FreeBSD Kernel Developer's Manual KASSERT(9)

名称

KASSERTカーネル式 (expression) 検証マクロ

書式

options INVARIANTS


#include < sys/param.h>
#include < sys/systm.h>

KASSERT( expression, msg);

解説

options INVARIANTS を付けてコンパイルされたカーネルでは、 KASSERT() マクロは、与えられた expression をテストして、それが偽であるなら、 panic(9) 関数を呼び出し、実行しているシステムを終了します。

options INVARIANTS がないカーネルでは、 KASSERT() マクロは、無効の操作 (no-op) であると定義されます。 2 番目の引数は、括弧で囲まれた printf(9) のフォーマット文字列とその引数です。

使用例

カーネル関数 vput() を NULL ポインタを付けて呼び出してはいけません。

void 
vput(vp) 
        struct vnode *vp; 
{ 
 struct proc *p = curproc; 
 KASSERT(vp != NULL, ("vput: null vp")); 
 ... 
}

関連項目

config(8), panic(9)

作者

このマニュアルページは、 Jonathan M. Bresler <jmb@FreeBSD.org>によって書かれました。
January 14, 2000 FreeBSD