DebugTools library

What is it

DebugTools is a library containing common debugging tools for code written in C++. (Since version 0.3.0, the library is for C++ only. The old C/C++ version is maintained on the 0.2 branch.) There are four major tools - a logger, a memory tracker, a stack/execution tracer (which can also work as a profiler), and a unit testing framework.
The goal of the project is to develop a powerful self-debugging/profiling library, completely re-usable in any C++ project on any platform.

Features

Example

This is sample output of the self tests:
HTML format: test.html
Plain text format: test.txt

Download

Version Date File Changes
0.4.0 20 December 2005 DebugTools0.4.0.zip
  • Added unit testing framework (the Tester)
  • Many bug fixes and code improvements
  • Added Visual C++ 2005 (8.0) project files
  • Documentation not complete yet
  • No time to support the C++ BuilderX, Series 60 and PalmOS ports
0.3.0 8 April 2005 DebugTools0.3.0.zip
  • Major redesign. Moved entirely into C++, C support was dropped
  • Much cleaner code
  • Unit tests
  • New features, mostly in the Logger (structured logging format, isolated log target and formatting)
  • Added Dev-Cpp and Borland C++ BuilderX project files
  • No time to test Series 60 and PalmOS support
0.2.1 24 February 2005 DebugTools0.2.1.zip
  • Added Microsoft Visual C++ 7.1 project files
  • Bug fixes and code improvements
0.2.0 5 October 2004 DebugTools0.2.0.zip
  • Improved C++ new/delete handling
  • Any combination of tracked/untracked delete chains is handled
  • An option to log the peak memory footprint (all memory allocations at the peak of memory usage)
  • Memory tracking blocks (mark and release all allocations within a code block)
  • PalmOS support started (not fully tested yet)
  • Doxygen documentation
  • Lots of bug fixes and improvements
0.1.0 10 March 2004 DebugTools0.1.0.zip Initial version.

If you want access to the latest state of the project, or even take part in the development of the library, please contact the authors at the e-mail address specified below.

Documentation

Look at the included docs/DebugTools.chm or use Doxygen to build the HTML documentation.
Look at the DebugToolsTest project and the included unit tests for usage examples.

License

The most relaxed zlib license. Read it here.

Authors/Contributors