NAME¶
DI - verify assertions in C and C++ code using
gdb(1)
SYNOPSIS¶
#include <DI.h>
DI(exprn)
DIG(exprn,guard)
DIH(exprn,handler)
DIP(exprn,param)
DIGH(exprn,guard,handler)
DIHP(exprn,handler,param)
DIGHP(exprn,guard,handler,param)
DS(exprn)
DESCRIPTION¶
The DI(exprn) checks that the exprn is true in the same way as
assert(3). It is
however implemented by generating debugger commands from the source code and
so only works if you run the command under a debugger after source the command
file generated by
nana(1).
exprn - the expression to be checked.
guard - the expression is normally only checked if the guard is true.
handler - a macro which generates the code that handles the error condition.
param - a parameter which can be passed off to the handler. This can be used for
identifying the assertion failure in a space-efficent manner, e.g. by copying
it into a register before aborting.
See nana.info for details on configuring the behaviour on error detection, etc.
You also need to include the nana library by using -lnana if you use the
default setup.
In addition to the DI, DIG, etc DI.h also provides DN, DNG, etc which are used
to check that an expression is never true.
SEE ALSO¶
nana-clg(1),
nana(1),
nana(3),
I(3),
L(3),
DL(3),
Q(3) and nana.info.
The nana.info file is the primary documentation for this library.
AUTHOR¶
Phil Maker <pjm@gnu.org>