Libcwd is a thread-safe, full-featured debugging support library for C++ developers.  It includes ostream-based debug output with custom debug channels and devices, powerful memory allocation debugging support, as well as run-time support for printing source file:line number information and demangled type names.