Releases: jeremy-rifkin/cpptrace
Releases · jeremy-rifkin/cpptrace
Version 0.6.3
Added:
- Added a flag to disable inclusion of
<format>
by cpptrace.hpp and the definition of formatter specializations
Fixes:
- Fixed use after free during cleanup of split dwarf information #141
- Fixed an issue with TCO by clang on arm interfering with unwinding skip counts for internal methods
- Fixed issue with incorrect object addresses being reported on macos when debug maps are used
- Fixed issue with handling of split dwarf emitted by clang under dwarf4 mode
Other changes:
- Added note about signal-safe tracing requiring
_dl_find_object
to documentation and fixed errors in the signal-safe
tracing docs - Added more configurations to unittest ci setup
- Optimized unittest ci matrix setup
- Added options for zstd and libdwarf sources if FetchContent is being used to bring the dependencies in
- Optimized includes in cpptrace.hpp
Version 0.6.2
Fixes:
- Fix an issue with unwinding to collect stack traces during exception creation on arm #134
- Fix issue where
dladdr1
wasn't being used even when detected
Robustness:
- Setup more robust unit tests and added them to CI
Version 0.6.1
Fixes:
- Fix for detection of
dladdr1
and_dl_find_object
support
Version 0.6.0
New:
- Added a
cpptrace::system_error
utility - Added support for musl #128
- Added support for split dwarf / debug fission
Fixes:
- Fixed address formatting in stack traces
- Fixed frame pointer calculation for signal frames from libunwind #123
- Fixed dwarf_ranges handling of lowpc == pc causing erroneous symbol resolution
- Fixed implementation of the exception helper system/reference implementation's
lazy_trace_holder
Version 0.5.4
Fixes:
- Fixed bug with resolving object information when
dladdr
is used and an unexpectedargv[0]
is provided to the
binary.
Version 0.5.3
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
Version 0.5.2
Fixes:
- Fixed bug with resolution of inlined calls
Other changes:
- Improved internal string formatting
- Improved internal error handling
Version 0.5.1
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
Version 0.5.0
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
Version 0.4.1
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