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
Pavol Gono
26093d5791
MSYS2+MINGW64 platform with libbacktrace ( #166 )
...
I've updated cmake conditions, to allow libbacktrace usage under
mingw64. And fixed one compilation issue.
Tested with package
https://packages.msys2.org/package/mingw-w64-x86_64-libbacktrace
with this setup:
```
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCPPTRACE_GET_SYMBOLS_WITH_LIBBACKTRACE=On
```
2024-09-03 19:58:39 -05:00
Jeremy Rifkin
973309cb22
Some more platform refactoring/cleanup, also add a note to readme
2024-08-18 12:07:34 -05:00
Jeremy Rifkin
164cc75681
A little refactoring and reorganization. Remove relative includes.
2024-08-18 11:58:49 -05:00
Jeremy
0e462c7b03
Some restructuring of the directory layout
2023-11-18 23:28:48 -06:00
Jeremy
61d536bc02
Put noinline macro in header
2023-11-15 15:22:59 -05:00
Jeremy
aed456bc63
Handle null lines / columns better
2023-11-15 11:52:24 -05:00
Jeremy
259d596f76
Re-enable warnings
2023-11-08 23:59:48 -05:00
Jeremy
4c1c42c61d
Add frame_ptr alias
2023-11-08 21:32:34 -05:00
Jeremy
1ced7c8dc3
Minor tweaks
2023-11-08 19:41:13 -05:00
Jeremy
5bf66156cd
Minor fixes
2023-11-08 14:47:15 -05:00
Jeremy
7ffec7b3c0
Inital work to walk inline tree and show inlined calls
2023-11-08 13:05:39 -05:00
Jeremy
781c30f63f
Fix build
2023-11-06 15:16:33 -05:00
Jeremy
ae5d2392fe
More std::
2023-10-08 22:48:12 -04:00
Jeremy
f6f64954de
Sonar suggestion
2023-10-07 17:43:39 -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
8bb8a2020c
Add some utilities for exception handling and detecting whether stderr is a terminal
2023-10-07 14:59:04 -04:00
Jeremy
df6c22f640
Sonar fix
2023-10-07 14:04:29 -04:00
Jeremy
4d2580185f
Sonar fixes
2023-10-07 13:59:57 -04:00
Jeremy
a422e132d4
Comments and sonar fixes
2023-10-07 13:43:39 -04:00
Jeremy
bda3e2b169
Fix for msvc
2023-10-06 01:23:46 -04:00
Jeremy
2b1a2c7a19
Fix useless cast warning
2023-10-06 00:53:40 -04:00
Jeremy
53ceb99b46
Sonar fixes: More nullptr literal use, take std::fuction by const&, and [[noreturn]]
2023-10-05 12:08:47 -04:00
Jeremy
3b5064f1ff
Fix forwarding issue
2023-10-05 10:58:03 -04:00
Jeremy
b46ebe7f54
Update libdwarf code to remove fat mach-o bodge and properly handle fat mach-o files
2023-09-30 19:28:35 -04:00
Jeremy
e82f6e360f
Two small refactors
2023-09-30 03:36:07 -04:00
Jeremy
d964842bdb
Refactor some helper functions and wrappers for dawrf into another file
2023-09-29 15:13:35 -04:00
Jeremy Rifkin
6de61e7755
Add StackWalk64 backend ( #48 )
2023-09-24 17:30:56 -04:00
Jeremy Rifkin
c94b03ae6e
Refactor and rewrite a number of dwarf handling methods ( #47 )
...
Discard old implementations in favor of new implementations that are
safer and cleaner
2023-09-24 03:25:23 -04:00
Jeremy Rifkin
183cdf5a1c
Error handling improvements ( #46 )
2023-09-23 17:46:26 -04:00
Jeremy Rifkin
76fc93639e
Properly handle dwarf errors ( #43 )
2023-09-22 19:54:56 -04:00
Jeremy
99230cb8fe
Add support for gnu debuglink
2023-09-21 19:23:10 -04:00
Jeremy Rifkin
1689487978
Improve Mach-O support ( #40 )
2023-09-21 19:09:37 -04:00
Jeremy
2324563290
Temp fix for CI
2023-09-20 09:44:37 -04:00
Jeremy
55941eaf7e
More quick fixes
2023-09-19 19:13:50 -04:00
Jeremy
08e5b021de
More quick fixes
2023-09-19 19:07:47 -04:00
Jeremy
c0a15d2677
More quick fixes
2023-09-19 18:57:03 -04:00
Jeremy
5d3755353f
Quick fixes
2023-09-19 18:52:52 -04:00
Jeremy
36174f9216
Improve error handling for object file parsing as well as a lot of cleanup and refactoring
2023-09-19 18:40:39 -04:00
Jeremy
799e7a7705
Remove clang-tidy
2023-09-19 15:26:51 -04:00
Jeremy
bdf3e89863
Quick fix
2023-09-19 00:31:10 -04:00
Jeremy
ccd0ea5e17
Deal with some conversion warnings
2023-09-18 22:41:34 -04:00
Jeremy Rifkin
0b32df64e4
Expand cpptrace API ( #37 )
2023-09-18 20:33:46 -04:00
Jeremy
cc43a23987
Lint fixes
2023-09-16 20:52:30 -04:00
Jeremy
278ee3fcee
Work on improving error handling and some general refactoring. Also trying to bring everything into cpptrace::detail.
2023-09-16 20:46:30 -04:00
Jeremy
906687e2db
Lint fix
2023-09-12 18:23:56 -04:00
Jeremy
5aadb58492
Don't use POSIX basename
2023-09-12 18:08:24 -04:00
Jeremy
2545e6c2e5
Use .dSYM files on macos. Should fix test cases.
2023-09-12 01:19:58 -04:00
Jeremy
54b4701462
Refactor linkage name querying
2023-09-12 00:16:40 -04:00
Jeremy
09ccc95814
Fix lint
2023-09-11 10:36:57 -04:00