Cpptrace Versions Save

Simple, portable, and self-contained stacktrace library for C++11 and newer

v0.5.4

2 weeks ago

Fixes:

  • Fixed bug with resolving object information when dladdr is used and an unexpected argv[0] is provided to the binary.

v0.5.3

3 weeks ago

Fixes:

  • Fixed bug with formatting of hex values on MSVC
  • Fixed error handling for libbacktrace back-end when debug info is not present
  • Fixed bug with cmake resolution of zstd when no zstd cmake config file is installed

Other changes:

  • Added error handling for an edge case in the signal tracing demo
  • Updated conan recipe to allow libunwind to be chosen
  • Improved msvc support in internal formatting system
  • Bumped libdwarf to 0.9.2

v0.5.2

1 month ago

Fixes:

  • Fixed bug with resolution of inlined calls

Other changes:

  • Improved internal string formatting
  • Improved internal error handling

v0.5.1

2 months ago

Fixes:

  • Fix MSVC warning treated as error for 32-bit windows
  • Fix MSVC issue with min/max macros
  • Fix potential null dereference issue identified by eyalgolan1337

v0.5.0

2 months ago

New:

  • Traces with source code snippets with cpptrace::stacktrace::print_with_snippets
  • Added cpptrace::get_snippet utility
  • Added cpptrace::can_signal_safe_unwind utility
  • Added stacktrace_frame::get_object_info

Changes:

  • The library is now compiled with position-independent code by default

Fixes:

  • Fixed issue with _dl_find_object implementation

Misc:

  • Various refactoring, cleanup, and improvements

v0.4.1

2 months ago

Changes:

  • Renamed stacktrace_frame.address -> stacktrace_frame.raw_address
  • Added stacktrace_frame.object_address
  • Fixed segfault due to an edge case with dwarf file table indices
  • For the libdwarf back-end: At least show object frame information if resolution fails
  • Extremely small performance improvements
  • Small documentation updates
  • Small fix for conan
  • Updated cmake to not FetchContent zstd when using CPPTRACE_USE_EXTERNAL_LIBDWARF
  • CI improvements
    • Test the default configuration first before doing the exhaustive and slow matrix of all configurations.
    • Cleanup of duplicated prerequisite installation code
    • Cleanup of built and test python scripts

v0.4.0

3 months ago

What's new:

  • Cpptrace now has a C API! 🎉
  • Cpptrace is now able to parse macOS debug maps and resolve stack traces without dSYM files

Most notable improvements:

  • Updated cpptrace exception objects to generate traces at the callsite for improved consistency with trace output. As part fo this cpptrace exception objects have had their constructors updated.
  • Improved dwarf back-end robustness
    • Fallback to the compilation-unit cache or walking compilation-units if aranges lookup fails
  • Eliminated reliance on a CMake-generated export header
  • Added a configuration to control resolution of inlined function calls
  • Made architecture selection in Mach-O universal binaries

Other improvements:

  • Improved documentation for installation and usage
  • Generally improved README content and organization
  • Fixed an MSVC workaround producing dozens of warnings
  • Better handle compiler color diagnostic arguments if compiler families differ
  • Improvements for handling libdwarf's header placement
  • Fixed issue with libunwind resolution
  • -Werror is now used in CI
  • More library configurations are now tested in CI
  • Updated to libdwarf 9
  • Updated the library's CMake to acquire zstd through FetchContent
  • Fixed minor issue with stacktrace printing always trying to enable virtual terminal processing, even when not actually printing to the terminal.

v0.4.0-rc2

3 months ago

v0.4.0-rc1

3 months ago

Pre-release for 0.4.0. Hoping to get that out in the next few days.

v0.3.1

5 months ago

Tiny patch:

  • Fix CPPTRACE_EXPORT annotations
  • Add workaround for msvc bug affecting msvc 19.38.