Jeremy Rifkin
457bc4b8a1
Check external symbols start with _Z before demangling
2025-02-13 23:39:05 -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
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
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
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