スポンサーリンク

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"));

...

}

関連項目

config(8), panic(9)

作者

このマニュアルページは Jonathan M. Bresler ⟨jmb@FreeBSD.org⟩ が書きまし た。

FreeBSD 10.0 January 14, 2000 FreeBSD 10.0

スポンサーリンク