5 Improved the support for non gcc compilers (sun cc) and non Linux OSes. NoBug
6 is useable on Solaris now (some testsuite fixes are still pending). Fixed some
7 an obscure bug with C++ and the (there) unspecified __func__ keyword by adding
8 much improved compiler/language detection. Some Documentation improvements and
9 cosmetics. NoBug has a mailinglist now at
10 http://lists.pipapo.org/cgi-bin/mailman/listinfo/nobug
17 Christian Thaeter (5):
18 add a PLANNED_TEST() macro to test.h
19 add a 'void* extra' parameter to the DUMP macros
20 add a 'void* extra' parameter to the INVARIANT macros
21 require invariant functions to be prefixed with 'nobug_'
22 prefix all mpool functions with nobug_
30 Replaced certain boring strings with a '-' in passed contexts.
31 Multiline continued log lines have a special event mark (!) now.
32 FIX a race condition when starting threads accessing resources, this introduces
33 the block syntax for resource tracker macros again. Programs have to be adapted
34 to take advantage of this. The internal locking got a big overhaul.
41 Refactored the logging core, it now supports multiline logging, log statements
42 can contain newline characters which will emit to multiple loglines
43 atomically, resource dumping uses this feature. The nobug libraries are now
44 properly versioned. Added internal ringbuffer documentation. The ringbuffer
45 guard pages can now be dynamically configured. Resource logging stays active
46 in BETA builds in preparation for offline resource tracking. Improved release
47 targets for make, that means more frequent releases in future.
54 A new facility was added to pass 'source-contexts' (file, line, function).
55 This allows one to emit diagnostics on behalf of a calling function. The
56 '_DBG' macro variants were removed because no one really used them and their
57 functionality is superseded by the 'flags'. Small bugfixes and documentation
58 improvements were made. Thread IDs now keep their thread number on reset. The
59 use of the GCC ',##__VA_ARGS__' semantic is factored out. The library should
60 now compile on other compilers too. Mac OS X is now officially tested and
68 A major update of the "test.sh" testsuite driver was done. Support was added
69 for conditionals in testsuites, informational messages, separate configuration
70 files, and more. A race condition when leaving resources by the
71 resourcetracker was fixed. A TRYING state that omits deadlock detection was
72 added to the resource tracker. Newline issues were fixed with newer valgrind
73 versions (which involves an API change). The documentation for nobug and
74 test.sh was improved. This is the first release which officially supports
75 other platforms, such as Maemo5/ARM, Mac OS X, and OpenSolaris.
82 This is a major update with all the improvements from the past 1.5 years. The
83 Resource tracker was completely rewritten. A new documentation system is used
84 now, and the documentation got a major update. A test suite for self-testing
85 NoBug was added. Many new or planned features such as fault-injection and
86 logging callbacks are finished. This release starts with a new version
87 numbering scheme. The API is now mostly finalized. This is a review release on
88 the way for a major production release soon.
95 The environment variable parser for runtime configuration was completed, and
96 passing of options for creating log files or ring buffers is now implemented.
97 A hook for application defined logging was added. A tool to dump ring buffer
98 content as a log was included. Logging output contains now an event counter.
99 The license was changed to GPLv2 or any later.
106 A deadlock detector was added. This is a review release, a work in progress.
113 The source code location handling (file/line/function) was improved and
114 centralized. Logging flags in C++ applications can be initialized and parsed
115 with a simple initializer. The Resource Registry was stabilized and rewritten
116 and given a new interface. Resources can be acquired in three states.
117 Multithreading support for the Resource Registry was improved. All actions on
118 the Resource Registry can emit logging messages. Only a few fixes were made
119 since the 0.2rc1 release.
126 The source code location handling (file/line/function) was improved and
127 centralized. Logging flags in C++ applications can be initialized and parsed
128 with a simple initializer. The Resource Registry was stabilized and rewritten
129 and given a new interface. Resources can be acquired in three states now.
130 Multithreading support for the Resource Registry was improved. All actions on
131 the Resource Registry can now emit logging messages.
138 NoBug is now usable from C++ programs. Support for multithreaded programs was
139 added. It now compiles to two static link libraries, one for singlethreaded
140 and one for multithreaded applications. The logging subsystem was rewritten
141 and now uses an efficient ringbuffer as backend storage. There is support for
142 multiple logging targets and the control via the environment is much improved.
143 A Resource Tracker was added to debug resource usage of the controlled
151 Valgrind and execinfo.h are now optional. The Log format was changed to be
152 similar to gcc's output, so editors should be able to parse the output. DUMP
153 now uses the flags mechanism too. The BUG macro was renamed to FIXME, and the
154 FIXME macro may not be used in BETA builds. Some bugfixes and cleanups were
162 GNU autotools are now used. Better logging support was added. The
163 documentation was synchronized with the code.