[Top] [Contents] [Index] [ ? ]

Table of Contents

1. Introduction
1.1 Related work
1.2 Assert.h considered harmful
1.3 Scope of this document
2. Installing the Nana library
2.1 Required Software
2.2 Optional Software
2.3 Configure
2.4 Variables for ./configure
2.5 Supported Platforms
2.6 Supported Debuggers
2.7 Known Problems
2.8 Bug Reports
2.9 New Versions
3. Invoking Nana
4. Interface
4.1 nana.h: the main header file
4.2 WITHOUT_NANA: disabling all nana code for portability.
4.3 I.h: C based invariant checking
4.4 DI.h: debugger based invariant checking
4.5 L.h: support for printf style logging
4.6 L_buffer.h: a circular buffer for logging.
4.7 L_times.h: recording events and times.
4.8 DL.h: support for printf style logging
4.9 GDB.h: sending plain gdb commands to the debugger
4.10 Q.h: support for quantifiers
4.11 Qstl.h: quantifiers for STL containers.
4.12 now.h: measuring time
4.13 cycles.h: access to CPU cycle counting registers.
4.13.1 RDTSC: cycle timing for Pentium, Cyrix, etc
4.14 eiffel.h: eiffel type assertions
4.14.1 EIFFEL_CHECK: enabling and disabling checking.
4.14.2 DOEND: adding DO ... END
4.14.3 REQUIRE, ENSURE, CHECK, etc.
4.15 assert.h: a drop in replacement for assert.h
4.16 calls.h: checking/printing many objects/facts.
5. Nana Shortform Generator.
6. Nana Performance Measurement
7. Tracing tools
7.1 Statement level tracing
7.2 Library tracing
8. Using Nana
8.1 Simplest example
8.2 Syslog
8.3 GNU Programs: how to avoid nana sometimes
8.4 Embedded Systems: testing non-deterministic systems.
8.5 Realtime Systems
8.6 A database
8.7 Program Visualisation: pretty pictures
9. FAQ
10. Future work
A. Index


This document was generated by Marius Tomaschewski on February, 12 2004 using texi2html