Jeremy
8bff5dc9fe
Quick fix
2024-05-25 14:32:34 -05:00
Jeremy
810b74ecaa
Refactor symbols_with_libdwarf indo separate files
2024-05-25 14:29:55 -05:00
Jeremy
5171e87a51
Refactor logic in the libdwarf resolver's resolve_frames, pull out trace flattening
2024-05-25 13:38:06 -05:00
Jeremy
a9f72c6f67
Refactor logic in the libdwarf resolver's resolve_frames, pull out resolver management
2024-05-25 13:02:25 -05:00
Jeremy
dcd9a31ce4
Refactor collate_frames
2024-05-25 12:38:34 -05:00
Jeremy
dad3bd1843
Some comments regarding dlfcn logistics and comment cleanup
2024-05-25 00:40:08 -05:00
Jeremy
7916f10278
Attempt to fallback to dladdr if dladdr1 is not available
2024-05-24 23:04:20 -05:00
Jeremy
f8d28a6469
Fix incorrect handling of lazy_trace_holder's union, I can't believe I wrote such egregious code
2024-05-23 22:33:56 -05:00
Jeremy
6307700710
Fix ASSERT macro under -Wpedantic
2024-05-23 22:33:33 -05:00
Jeremy Rifkin
b3836e9318
Support -Wpedantic if someone sets the flag globally while using FetchContent ( #127 )
...
Closes #107
2024-05-23 21:18:11 -05:00
Jeremy
7c9b24ca72
Fix dwarf_ranges handling of lowpc == pc, it's not correct to jump the gun and not check the high-pc. I think I erroneously added this in c94b03ae6e. Discovered as part of #123 .
2024-05-19 17:00:44 -05:00
Jeremy
4884c4e99b
Fix frame pointer calculation for symbol frames under libunwind, #123
2024-05-19 16:36:07 -05:00
Jeremy
b2fe396d70
Fix address formatting, somehow it was left-aligned
2024-05-19 16:28:41 -05:00
Jeremy
323ab5814e
Merge branch 'main' into dev
2024-05-12 22:00:45 -05:00
Ben Dunkin
a70cf7935a
Fix missing cxxabi.h include on Windows when using libc++ ( #122 )
...
Make operator precedence explicit so the
`CPPTRACE_HAS_CXX_EXCEPTION_TYPE` define is a dominant switch to use
cxxabi.h, rather than one that only applies when `__GLIBCXX__` is
defined.
Fixes https://github.com/jeremy-rifkin/cpptrace/issues/121
2024-05-12 21:56:38 -05:00
Jeremy
74ed6afc0a
Add cpptrace::system_error
2024-05-06 23:01:11 -05:00
Jeremy
da0aa4d5c0
Split a bunch of internal headers into .cpp/.hpp
2024-05-05 17:44:27 -05:00
Jeremy
d7c19a5544
Updates for conda
2024-05-03 20:07:09 -05:00
Jeremy
abbc77dcea
Clean up logic a bit
2024-05-02 11:17:41 -05:00
Jeremy
d3c7e7351c
Remove guard for resolve_l_name
2024-05-02 11:09:37 -05:00
Jeremy
ce19421bb5
Update for macos
2024-05-02 11:05:22 -05:00
Jeremy
b125248b32
Update dladdr path to not use dli_fname as it's unreliable in the case of a non-standard argv[0]
2024-05-02 10:47:31 -05:00
Jeremy
0527cea39f
For the libbacktrace back-end don't treat missing debug info in ELFs as a critical error; fixes #114
2024-04-28 19:51:52 -05:00
Jeremy
c871c2a43c
Grab new microfmt changes and fix #113
2024-04-27 01:29:39 -05:00
Jeremy
599d6abd6c
Workaround bug for old msvc
2024-03-31 23:51:41 -05:00
Jeremy
0dd71cebb7
Mac fixes
2024-03-31 22:01:14 -05:00
Jeremy
06372b772f
Fix another warning
2024-03-31 16:42:51 -05:00
Jeremy
40696e8d02
Handle MSVC warning treated as error
2024-03-31 16:37:29 -05:00
Jeremy
ffb1b8ed68
A little more error handling cleanup
2024-03-31 16:02:39 -05:00
Jeremy
dc9cee98fb
Move error when returning
2024-03-31 15:52:45 -05:00
Jeremy
124607e7bf
Resolve some TODOs with error handling for mach-o stuff
2024-03-31 15:24:01 -05:00
Jeremy
b04fc09682
Update internal error messages
2024-03-31 14:18:21 -05:00
Jeremy
8007413ff6
Print Result(E) if not absorbing trace exceptions
2024-03-31 14:15:19 -05:00
Jeremy
4db73b1856
Fix assertion failure format string
2024-03-30 23:19:13 -05:00
Jeremy
50483783cb
Fix bug with non-recursive inline walking
2024-03-30 23:18:55 -05:00
Jeremy
ab63c34827
Replace most stream use with new formatting system
2024-03-30 20:25:06 -05:00
Jeremy Rifkin
acaa4f42e6
Add a Result type and replace some exceptions with it ( #109 )
2024-03-30 13:35:52 -05:00
Jeremy
47e7ee79eb
Formatting update
2024-03-30 11:11:07 -05:00
Jeremy
fa6155ff47
Remove awful stringf system
2024-03-29 23:12:26 -05:00
Jeremy
411fdff8fa
Merge branch 'dev'
2024-03-20 22:08:33 -05:00
Jeremy
d1199dc325
Fix potential null dereference issue, thanks @eyalgolan1337. Resolves #106 .
2024-03-20 22:08:21 -05:00
Billy O'Neal
37e6cef4f9
Defend against min and max macros from windows.h ( #105 )
...
Alternative to
https://github.com/microsoft/vcpkg/pull/37512/files#diff-9f533b43a5faabaa6b5a0e046f0ae425cd85736808604dd61dc9a955db3d060aR9
I left the examples in mach-o.hpp as they are guarded by #if IS_APPLE
2024-03-18 23:03:26 -05:00
Jeremy
a841a1b74a
Fix msvc warning treated as error
2024-03-16 19:23:03 -05:00
Jeremy
a528aa8e0b
Fix object address resolution with _dl_find_object, #104
2024-03-16 16:17:27 -05:00
Jeremy
3e0689a5e6
Resolve object address for dbghelp frames by default, handles #100
2024-03-09 22:15:41 -06:00
Jeremy
8d6326da07
Update locking in dbghelp_syminit_manager
2024-03-08 17:39:08 -06:00
Jeremy
c896d70f79
Small reorganization
2024-03-05 17:47:55 -06:00
Jeremy
da739d30c5
Add can_signal_safe_unwind and update some documentation surrounding signal-safe stack tracing
2024-03-03 12:15:27 -06:00
Jeremy
ec264aa0eb
Cleanup and improve snippet code a bit
2024-03-03 11:49:15 -06:00
Jeremy
862b546532
Update margin handling
2024-03-03 11:34:09 -06:00