make indexes optional for the asciidoc plugin of pipadoc
[nobug.git] / doc / overview.txt
blobe0955985b044b941df6c27bd71e9cc986ce5cbd9
1 ____
2 Everyone makes mistakes, but with NoBug you won't make them twice!
3 ____
5 Nobug is a debugging library for instrumenting C and C++ programs
6 inspired by ideas originating from Design-by-Contract.
8 Overview
9 --------
11 The following features are provided by NoBug:
13   * Three different check levels: from detailed to final no-overhead
14   * Scope tags: tell whenever a function or loop is considered to be bug free
15   * Precondition, Postcondition and Invariant checks and generic assertions
16   * Debugger support (actions are only executed while running under a
17     debugger), currently only valgrind is supported
18   * Datastructures can be dumped
19   * Application activities can be logged
20   * Runtime customizable logging via an environment variable
21   * Different logging targets to stderr, syslog, debugger, ...
22   * Annotation of your sourcecode about known bugs, things to do, etc.
23   * Tracking resources (files, locks, etc.) used by your program; help in
24     detecting misuse
25   * Detecting deadlocks
26   * Simulate errors by injecting faults
27   * Additionally, the NoBug project is used to maintain a script and
28     some tools to setup and testsuites
30 In contrast to traditional debuggers, NoBug is a non-interactive debugger which
31 is linked to your application doing hard-coded tests in an efficient,
32 low-overhead way.