\chapentry {Introduction}{1}{1} \secentry {Related work}{1}{1}{3} \secentry {Assert.h considered harmful}{1}{2}{4} \secentry {Scope of this document}{1}{3}{4} \chapentry {Installing the Nana library}{2}{5} \secentry {Required Software}{2}{1}{5} \secentry {Optional Software}{2}{2}{6} \secentry {Configure}{2}{3}{6} \secentry {Variables for ./configure}{2}{4}{7} \secentry {Supported Platforms}{2}{5}{8} \secentry {Supported Debuggers}{2}{6}{8} \secentry {Known Problems}{2}{7}{9} \secentry {Bug Reports}{2}{8}{10} \secentry {New Versions}{2}{9}{10} \chapentry {Invoking Nana}{3}{13} \chapentry {Interface}{4}{15} \secentry {nana.h: the main header file}{4}{1}{15} \secentry {WITHOUT\unhbox \voidb@x \kern .06em \vbox {\hrule width.3em height.1ex}NANA: disabling all nana code for portability.}{4}{2}{15} \secentry {I.h: C based invariant checking}{4}{3}{15} \secentry {DI.h: debugger based invariant checking}{4}{4}{18} \secentry {L.h: support for printf style logging}{4}{5}{20} \secentry {L\unhbox \voidb@x \kern .06em \vbox {\hrule width.3em height.1ex}buffer.h: a circular buffer for logging.}{4}{6}{22} \secentry {L\unhbox \voidb@x \kern .06em \vbox {\hrule width.3em height.1ex}times.h: recording events and times.}{4}{7}{24} \secentry {DL.h: support for printf style logging}{4}{8}{25} \secentry {GDB.h: sending plain gdb commands to the debugger}{4}{9}{26} \secentry {Q.h: support for quantifiers}{4}{10}{27} \secentry {Qstl.h: quantifiers for STL containers.}{4}{11}{29} \secentry {now.h: measuring time}{4}{12}{31} \secentry {eiffel.h: eiffel type assertions}{4}{13}{31} \secentry {assert.h: a drop in replacement for assert.h}{4}{14}{33} \secentry {calls.h: checking/printing many objects/facts.}{4}{15}{33} \chapentry {Using Nana}{5}{35} \secentry {Simplest example}{5}{1}{35} \secentry {Syslog}{5}{2}{35} \secentry {GNU Programs: how to avoid nana sometimes}{5}{3}{36} \secentry {Embedded Systems: testing non-deterministic systems.}{5}{4}{36} \secentry {Realtime Systems}{5}{5}{37} \secentry {A database}{5}{6}{37} \secentry {Program Visualisation: pretty pictures}{5}{7}{37} \chapentry {FAQ}{6}{39} \chapentry {Future work}{7}{41} \chapentry {Index}{Appendix{} \char65}{43}