libcwdversion 2.0.0
The C++ Debugging Support Library
Loading...
Searching...
No Matches
Introduction

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, as well as run-time support for printing source-file:line-number information and demangled type names.

Examples

  • printing demangled template types:
    STATEFULTASK : Entering AIStatefulTask::run(default_handler = <immediate>, 0, condition = 0x0 (), on_abort = do_nothing) [0x55ef1f233fc0]
    STATEFULTASK : | Running state bs_initialize [0x55ef1f233fc0]
    VULKAN : | Entering SynchronousWindow::initialize_impl() [0x55ef1f233fc0]
    VULKAN : | Entering vulkan::Application::add(0x55ef1f233fc0)
    NOTICE : | Entering Window::frame_rate_interval() [0x55ef1f233fc0]
    STATEFULTASK : | Running state bs_multiplex / SynchronousWindow_xcb_connection [0x55ef1f233fc0]
    BROKER : | Entering Broker<task::XcbConnection, void>::run({":0.0"}, callback)
    STATEFULTASK : | Entering statefultask::create<task::XcbConnection, bool&>(0)
    STATEFULTASK : | Returning task pointer 0x55ef1f0ab870.
    NOTICE : | Entering ConnectionData::set_display_name(":0.0")
    BROKER : | Wake up Broker to run the newly created task.
    STATEFULTASK : | Entering AIStatefulTask::wait(0x1 (connection_set_up)) [0x55ef1f233fc0]
    STATEFULTASK : Entering statefultask::create<vulkan::task::AsyncSemaphoreWatcher, bool>(0)
    STATEFULTASK : Returning task pointer 0x55ef1ef93dc0.
  • multi-threaded debug output with colors: Image showing colored debug output
  • printing source-file:line-number locations from __builtin_return_address or labels:
    17: NOTICE : Calling f() from main: location_default_argument_functions.cpp:82 (expected: 82)
    17: NOTICE : calling g(arg_g1(), arg_g2()) from f: location_default_argument_functions_cu.cpp:44 (expected: 44)
    17: NOTICE : arg2_i() was called from 0x45f2 --> location_default_argument_functions_cu.cpp:44
    17: NOTICE : arg_g2() was called from 0x460b --> location_default_argument_functions_cu.cpp:44
    17: NOTICE : arg_g1() was called from 0x4617 --> location_default_argument_functions_cu.cpp:44
    17: NOTICE : g(1, 1, 1) was called from location_default_argument_functions_cu.cpp:44

Documentation

Project status