KASSERT(9) Kernel Developer's Manual KASSERT(9)
NAME
KASSERT, KDASSERTkernel expression verification macros
SYNOPSIS
void
KASSERT(expression);
void
KDASSERT(expression);
DESCRIPTION
These machine independent assertion-checking macros cause a kernel panic(9) if the given expression evaluates to false.
 
KASSERT() tests are included only in kernels compiled with the DIAGNOSTIC configuration option. In a kernel that does not have this configuration option, the KASSERT() macro is defined to be a no-op.
 
KDASSERT() tests are included only in kernels compiled with the DEBUG configuration option. KDASSERT() and KASSERT() are identical except for the controlling option (DEBUG vs DIAGNOSTIC).
 
The panic message will display the style of assertion (debugging vs. diagnostic), the expression that failed and the filename, and line number the failure happened on.
SEE ALSO
AUTHORS
These macros were written by Chris G. Demetriou <cgd@netbsd.org>.