Jeremy Rifkin
b2180ae797
Rename builder methods
2025-02-02 16:58:22 -06:00
Jeremy Rifkin
f0a9e12e88
Format frames directly to the stream
2025-02-02 16:45:49 -06:00
Jeremy Rifkin
eb83ee2a1c
Add an option to show / hide filtered frames vs printing a placeholder
2025-02-02 16:20:47 -06:00
Jeremy Rifkin
d1ce9c8896
Oops, quick fixes
2025-02-02 14:45:49 -06:00
Jeremy Rifkin
00c7feb2e0
Remove some unused includes
2025-02-01 20:03:50 -06:00
Jeremy Rifkin
32f0d5d273
Constexpr fix
2025-02-01 20:00:06 -06:00
Jeremy Rifkin
85be7c32a4
Some improvements to the nullable interface
2025-02-01 19:10:19 -06:00
Jeremy Rifkin
248ad447b1
Work around bazel crap
2025-02-01 18:54:44 -06:00
Jeremy Rifkin
eb9ebc31a7
Add tests for nullable
2025-02-01 17:51:17 -06:00
Jeremy Rifkin
e2b1252438
A new formatting setup ( #208 )
...
Resolves #164
2025-02-01 17:31:49 -06:00
Jeremy Rifkin
3557d7b885
Fix handling of DW_DLV_ERROR
2025-02-01 11:51:08 -06:00
Jeremy Rifkin
9077430b6a
Search both the elf symbol table and dynamic symbol table
2025-01-28 23:40:08 -06:00
Jeremy Rifkin
06c9c14995
Return an optional from lookup_symbol
2025-01-28 23:26:28 -06:00
Jeremy Rifkin
7f6945c7d9
Better handle symtab loading / optionality
2025-01-28 23:14:37 -06:00
Jeremy Rifkin
73ee7aa3a1
Don't try to load string table if strtab_link is SHN_UNDEF or the symbol table is empty
2025-01-28 22:21:43 -06:00
Jeremy Rifkin
18046688f6
Move cmake integration and performance check into ci workflow
2025-01-28 21:41:27 -06:00
Jeremy Rifkin
1429cfc429
Hopefully final ci fixes
2025-01-28 12:53:40 -06:00
Jeremy Rifkin
82ef2287dd
Fix CI
2025-01-28 11:32:58 -06:00
Jeremy Rifkin
25eaa832d1
Remove a superfluous inline
2025-01-28 00:50:42 -06:00
Jeremy Rifkin
f16c36e0b6
Do a unit test without debug symbols
2025-01-28 00:48:38 -06:00
Jeremy Rifkin
b498dead92
Update readme badges
2025-01-28 00:42:50 -06:00
Jeremy Rifkin
6971f6a5ca
Remove mostly redundant build workflow and turn the test workflow into a general ci workflow
2025-01-28 00:31:01 -06:00
Jeremy Rifkin
247474389f
Allow cpptrace::detail::demangle to demangle strings that have non-identifier characters at the end
2025-01-27 23:57:05 -06:00
Jeremy Rifkin
dc0c683804
Remove elf::byteswap_if_needed's little endian parameter
2025-01-27 23:49:27 -06:00
Jeremy Rifkin
c5c785db89
Check that names passed to cpptrace::detail::demangle look like mangled names before passing to abi::__cxa_demangle
2025-01-27 23:48:13 -06:00
Jeremy Rifkin
a28cc3a3a0
Split up unittest jobs further
2025-01-27 23:36:38 -06:00
Jeremy Rifkin
08306c12a5
Implement symbol table lookup for mach-o and fix mingw build
2025-01-27 23:12:30 -06:00
Jeremy Rifkin
68c9d33e94
Use tried_to_load_header
2025-01-26 23:22:03 -06:00
Jeremy Rifkin
8edb419342
Implement elf symbol table parsing and fall back to the elf symbol table during symbol resolution
2025-01-26 23:07:33 -06:00
Jeremy Rifkin
dc118dcb6d
Move monostate
2025-01-26 23:03:42 -06:00
Jeremy Rifkin
7a1eb4d5bf
Add a Result<T> converting constructor
2025-01-26 20:29:13 -06:00
Jeremy Rifkin
6a9d2c5bbd
Fixes for C++11 / older gcc
2025-01-26 19:31:20 -06:00
Jeremy Rifkin
c9826616b5
Sendit support optional<T&> and Result<T&, E>
2025-01-26 19:18:47 -06:00
Jeremy Rifkin
293f4d1593
Export should_absorb_trace_exceptions to fix tests
2025-01-26 18:15:21 -06:00
Jeremy Rifkin
01ea4e9ea7
Update BUILD.bazel for test
2025-01-26 17:41:23 -06:00
Jeremy Rifkin
06732add17
Try to fix tests on CI
2025-01-26 17:34:02 -06:00
Jeremy Rifkin
78086d0267
Some more unit tests for test cases
2025-01-26 17:29:38 -06:00
Jeremy Rifkin
906784284f
Add unit tests for optional and result helper types
2025-01-26 16:02:34 -06:00
Jeremy Rifkin
b705afba69
Templated lambdas aren't a thing in C++11 :(
2025-01-26 14:52:31 -06:00
Jeremy Rifkin
76a21d266a
Refactor out optional and result
2025-01-26 13:30:54 -06:00
firesgc
1bcfcff021
Incompatible with JNI on Windows: use unique handle for SymInitialize #204 ( #206 )
...
WinDbg: Duplicate the process handle before using it in SymInitialize,
because other libraries may have already called SymInitialize for the
process
(https://learn.microsoft.com/en-us/windows/win32/debug/initializing-the-symbol-handler )
Fixes https://github.com/jeremy-rifkin/cpptrace/issues/204
---------
Co-authored-by: Jeremy <51220084+jeremy-rifkin@users.noreply.github.com>
2025-01-25 22:25:54 -06:00
Jeremy Rifkin
485d9a6f21
A little elf refactoring, separate out header loading
2025-01-24 20:16:46 -06:00
Jeremy Rifkin
d063784abc
Refactor elf_get_module_image_base, setup an elf class in preparation for more elf parsing
2025-01-23 00:12:31 -06:00
Jeremy Rifkin
6689d14c20
Bump to v0.7.5
2025-01-04 23:45:49 -06:00
Jeremy Rifkin
f42ed3500d
Use underscores in component names instead of hyphens due to cpack, resolves #203
2025-01-04 23:16:37 -06:00
Jeremy Rifkin
f35ef65ed6
Merge branch 'dev'
2025-01-04 22:57:40 -06:00
Jeremy Rifkin
0c40839009
Specify __cdecl for the terminate handler on MSVC, fixes #197
2024-12-30 23:07:15 -06:00
Jeremy Rifkin
d5a2043fd3
Set C++ standard for old compiler versions in check_support, fixes #200
2024-12-30 22:41:54 -06:00
Dominic Koepke
b127cfb176
Add missing typeinfo include ( #202 )
...
Hello,
as you know, I'm working on an integration of ``cpptrace`` into my own
mocking framework. I've an exhaustive build-workflow with various
compiler-configurations. One of these configs fails compiling due to
this error:
```src/platform/exception_type.hpp:19:39: error: member access into incomplete type 'const std::type_info'```
This happens to be the case, when ``clang-16`` with c++23 and `-stdlib=libc++` is used.
see: https://github.com/DNKpp/mimicpp/actions/runs/12549146490/job/34989686008 and
https://github.com/DNKpp/mimicpp/actions/runs/12549146490/job/34989688648
This fixes the issue.
2024-12-30 19:12:39 -06:00
Sergei Zimmerman
b23bc42df4
test(stacktrace): make CPPTRACE_FORCE_INLINE static ( #196 )
...
This fixes compilation error:
```
> error: inlining failed in call to 'always_inline' 'int stacktrace_inline_resolution_2(std::vector<int>&)': function body can be overwritten at link time
```
2024-12-23 12:21:30 -07:00