Jeremy Rifkin
aed47df73e
Slightly improve memory usage by packing some structs used in the die cache
2025-02-17 22:18:15 -06:00
Jeremy Rifkin
1d79dbcf42
Add a configurable cache size for the line tables cache, related to #193
2025-02-17 19:10:46 -06:00
Jeremy Rifkin
ce97e0004d
Add basic option for shortening paths in the formatter
2025-02-13 23:22:12 -06:00
Jeremy Rifkin
2b7d47d627
Add elf symtab dumping tool
2025-02-02 21:37:22 -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
e2b1252438
A new formatting setup ( #208 )
...
Resolves #164
2025-02-01 17:31:49 -06:00
Jeremy Rifkin
25eaa832d1
Remove a superfluous inline
2025-01-28 00:50:42 -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
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
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
76a21d266a
Refactor out optional and result
2025-01-26 13:30:54 -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
61d06d56d6
Oops
2024-12-03 23:56:10 -06:00
Jeremy Rifkin
4227fc4abe
Better microfmt implementation
2024-12-03 23:53:28 -06:00
Pavol Gono
9269a72c54
Fixed compiler warnings and errors under MSYS2+MINGW64 platform. ( #186 )
...
Fixed compiler warnings and errors under MSYS2+MINGW64 platform.
2024-10-27 10:30:36 -05:00
Reimu NotMoe
557a4a6fab
Add missing #include <algorithm> in microfmt.hpp ( #183 )
...
This fixes building latest cpptrace in macOS
(https://github.com/jeremy-rifkin/microfmt/issues/1 )
2024-10-20 23:52:29 -05:00
Jeremy Rifkin
757c0f87fe
Quick correction to get_cout
2024-10-06 14:06:52 -05:00
Jeremy Rifkin
4c59e73a01
Split up cpptrace.hpp
2024-10-05 18:01:12 -05:00
Vittorio Romeo
0ddbbf43cb
Improve compilation times on Windows ( #172 )
...
Thank you for the very useful library!
Few improvements:
- Better header hygiene
- Isolate `windows.h` to `.cpp` whenever possible
- Use `WIN32_LEAN_AND_MEAN`
- Remove unused headers
Tested on Windows with
```
cmake .. -DCMAKE_BUILD_TYPE=Debug -GNinja -DCMAKE_EXPORT_COMPILE_COMMANDS=1
-DCMAKE_CXX_COMPILER=clang++ -DCMAKE_CXX_FLAGS="-ftime-trace -Wall -Wextra -Wpedantic
-Wno-ignored-attributes" -DCMAKE_COLOR_DIAGNOSTICS=1 -DCPPTRACE_BUILD_TESTING=1
-DCPPTRACE_BUILD_BENCHMARKING=0
```
There's a lot more that can be improved if you are interested.
---------
Co-authored-by: Jeremy Rifkin <51220084+jeremy-rifkin@users.noreply.github.com>
2024-10-02 10:55:13 -05:00
Jeremy Rifkin
4e9f0da95f
Nest microfmt in the cpptrace namespace due to conditionally-enabled C++17 behavior causing ODR issues, related to https://github.com/jeremy-rifkin/libassert/issues/103
2024-09-12 21:06:12 -05:00
_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
b8a6e8446a
Quick microfmt fix for an old msvc bug
2024-06-02 12:47:53 -05:00
Jeremy
59ef49f1a3
Update microfmt
2024-06-02 11:31:43 -05:00
Jeremy
9d1c592f0c
Remove CPPTRACE_CONDA_LIBDWARF_WEIRDNESS bodge and better support libdwarf via pkgconfig, resolves #131
2024-05-28 21:32:54 -05:00
Jeremy Rifkin
b2bff57d81
Debug Fission ( #132 )
...
Implement support for debug fission, closes #129
2024-05-28 20:39:34 -05:00
Jeremy
5556aedddb
Refactor cu lookup out of pc resolution
2024-05-25 16:20:41 -05:00
Jeremy
810b74ecaa
Refactor symbols_with_libdwarf indo separate files
2024-05-25 14:29:55 -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
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
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
d7c19a5544
Updates for conda
2024-05-03 20:07:09 -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
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