_BLU
0d89be4fbe
VS2015 fixes ( #165 )
...
Fixes the compilation on VS14 / 2015.
2024-09-04 22:32:00 -05:00
Jeremy Rifkin
164cc75681
A little refactoring and reorganization. Remove relative includes.
2024-08-18 11:58:49 -05:00
Jeremy Rifkin
26e009c688
Add cpptrace::from_current ( #155 )
2024-08-18 11:11:47 -05:00
Jeremy
cc2b3fce40
Add another try/catch to prevent any potential TCO
2024-07-13 19:07:58 -05:00
Jeremy
dcf89743f6
Block TCO on wrapper functions
2024-07-13 19:06:33 -05:00
Jeremy Rifkin
2fb0a6fd2e
Fix trace generation for cpptrace exception objects on armv7hf ( #138 )
...
noexcept on get_raw_trace_and_absorb seems to somehow interfere with
unwinding on armv7hf, possibly due to unwind tables not being generated
for the function. Fixes #134 .
2024-06-13 11:17:44 -05:00
Jeremy
70634cb6f4
Undo temporary change printing object addresses in stack traces
2024-05-28 21:44:13 -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
b2fe396d70
Fix address formatting, somehow it was left-aligned
2024-05-19 16:28:41 -05:00
Jeremy
74ed6afc0a
Add cpptrace::system_error
2024-05-06 23:01:11 -05:00
Jeremy
ab63c34827
Replace most stream use with new formatting system
2024-03-30 20:25:06 -05: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
389f788b57
Add get_object_info method to stacktrace frames, adding onto the previous work for #97
2024-03-03 10:54:03 -06:00
Jeremy Rifkin
d99f1745d2
Basic source code snippet system ( #98 )
2024-02-28 23:29:24 -06:00
Jeremy
0fda4a88ed
Refactor stack trace frame printing
2024-02-28 20:53:28 -06:00
Jeremy
3c7a677689
Add an object address to stacktrace_frame entries, addresses #97 (no pun intended)
2024-02-27 00:34:45 -06:00
Bruce Mitchener
a144002bf0
Tweaks from clang-tidy ( #92 )
...
This is (perhaps) mainly for discussion as I saw you removed
`clang-tidy` checks last year. These fix a variety of minor things.
With one of the options that I was using, these still remain:
```
/Users/bruce/Development/custodian/cpptrace/src/symbols/../utils/utils.hpp:235:22: warning: noexcept specifier on the move constructor evaluates to 'false' [performance-noexcept-move-constructor]
235 | noexcept(std::is_nothrow_move_constructible<T>::value)
| ^
/Users/bruce/Development/custodian/cpptrace/src/symbols/../utils/utils.hpp:250:64: warning: noexcept specifier on the move assignment operator evaluates to 'false' [performance-noexcept-move-constructor]
250 | noexcept(std::is_nothrow_move_assignable<T>::value && std::is_nothrow_move_constructible<T>::value)
| ^
```
2024-02-18 11:21:48 -06:00
Bruce Mitchener
aa446b0540
Fix typos. ( #90 )
2024-02-18 00:10:21 -06:00
Jeremy
a3e3916daa
Fix issue with trying to call detail::enable_virtual_terminal_processing_if_needed unconditionally on print
2024-02-04 13:56:46 -06:00
Jeremy
ab2d440a00
Update cpptrace exceptions to defer trace generation to the callsite with a default argument
2024-02-04 13:40:12 -06:00
Jeremy
d7aac52f8b
Add configuration to control resolution of inlined calls
2024-02-04 11:03:03 -06:00
Jeremy
e8c857d6c2
Small tweak for a couple aggregate initializations
2024-01-14 22:27:25 -06:00
Jeremy
2a4a8066d3
Rework the object trace interface a bit and clarify their purpose. Also rename minimal_object_trace to safe_object_trace
2023-11-20 23:01:19 -06:00
Jeremy
6c6d915414
Removed raw_trace::from_buffer, not happy with that api
2023-11-19 23:45:51 -06:00
Jeremy
16ec7c5855
Fix oversight, demangle in object_trace resolution
2023-11-19 22:52:43 -06:00
Jeremy
ac13e71877
Implement signal-safe resolution of basic object information
2023-11-19 22:49:58 -06:00
Jeremy
0e462c7b03
Some restructuring of the directory layout
2023-11-18 23:28:48 -06:00
Jeremy
77a2e3a22b
Rework the exception interface
2023-11-18 09:00:57 -06:00
Jeremy
140166a4a7
Updated nested exception what message
2023-11-15 21:50:10 -05:00
Jeremy
ab7e71f1b2
Add exception wrapping utilities, will help issues like #60
2023-11-15 21:24:26 -05:00
Jeremy
520962162c
Improvement for trace printing with missing symbols or filenames
2023-11-15 15:10:22 -05:00
Jeremy
aed456bc63
Handle null lines / columns better
2023-11-15 11:52:24 -05:00
Jeremy
e80afd460b
Add safe tracing interface
2023-11-12 23:31:41 -05:00
Jeremy
4c1c42c61d
Add frame_ptr alias
2023-11-08 21:32:34 -05:00
Jeremy
7ffec7b3c0
Inital work to walk inline tree and show inlined calls
2023-11-08 13:05:39 -05:00
Jeremy
93de7b7060
spacing fix
2023-11-07 00:05:50 -05:00
Jeremy Rifkin
98368fb417
CMake improvements ( #57 )
2023-11-06 12:12:07 -05:00
Jeremy
ae5d2392fe
More std::
2023-10-08 22:48:12 -04:00
Jeremy
ae484f0ed2
Improve terminate handler behavior when there's no active exception and also try to print a trace for non-cpptrace terminates
2023-10-08 14:55:21 -04:00
Jeremy
1d514c1532
Windows fix
2023-10-07 17:42:11 -04:00
Jeremy
05c3f7160b
Add specialized terminate handler and add error handling info to the README. Also updated demo.
2023-10-07 17:34:49 -04:00
Jeremy
2e0fa880bc
Small fixes
2023-10-07 15:05:50 -04:00
Jeremy
8bb8a2020c
Add some utilities for exception handling and detecting whether stderr is a terminal
2023-10-07 14:59:04 -04:00
Jeremy Rifkin
b26c5e4ec8
Refactor cpptrace exception objects and simplify interface ( #54 )
2023-10-06 20:25:30 -04:00
Jeremy
2f507cc24d
Fix msvc build
2023-10-05 12:55:44 -04:00
Jeremy
0c03ac7a01
Refactor stacktrace::print
2023-10-05 12:41:52 -04:00
Jeremy
c3a27d15fb
Update trace objects to just be aggregates
2023-10-05 12:33:43 -04:00
Jeremy Rifkin
ddad92b1f8
Sonar fixes ( #52 )
2023-10-05 11:17:39 -04:00
Jeremy
d84a3167d9
Add cache mode config
2023-09-29 12:50:47 -04:00
Jeremy Rifkin
183cdf5a1c
Error handling improvements ( #46 )
2023-09-23 17:46:26 -04:00