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
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
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
142e0b9ea4
Per 0blu's suggestion, use the SymGetLineFromAddr macro instead of SymGetLineFromAddr64
2024-09-13 00:06:05 -05:00
Jeremy Rifkin
0e2c3a130d
Fix windows build
2024-08-18 12:11:20 -05:00
Jeremy Rifkin
164cc75681
A little refactoring and reorganization. Remove relative includes.
2024-08-18 11:58:49 -05:00
Jeremy
da0aa4d5c0
Split a bunch of internal headers into .cpp/.hpp
2024-05-05 17:44:27 -05:00
Jeremy
ffb1b8ed68
A little more error handling cleanup
2024-03-31 16:02:39 -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
3e0689a5e6
Resolve object address for dbghelp frames by default, handles #100
2024-03-09 22:15:41 -06:00
Jeremy
a31d35c04e
Fixes
2024-02-27 19:12:55 -06:00
eightfold
218957dfb0
New C api ( #80 )
...
Updated C API following the requested scheme. May implement "exceptions"
later...
Closes #38
---------
Co-authored-by: Jeremy Rifkin <51220084+jeremy-rifkin@users.noreply.github.com>
2024-01-23 00:16:20 -06:00
Jeremy
6da8ee0773
Fix a couple includes
2023-11-18 23:38:03 -06:00
Jeremy
5657a07ed4
Remove some no longer needed includes
2023-11-18 23:35:43 -06:00
Jeremy
79bc580519
Handle multiple symbol back-ends better
2023-11-15 15:09:08 -05:00
Jeremy
feef9a3265
Fix
2023-11-15 11:55:59 -05:00
Jeremy
aed456bc63
Handle null lines / columns better
2023-11-15 11:52:24 -05:00
Jeremy
c6ea891629
Address -Wmissing-field-initializers warnings
2023-11-14 22:58:10 -05:00
Jeremy
4c1c42c61d
Add frame_ptr alias
2023-11-08 21:32:34 -05:00
Jeremy
ae5d2392fe
More std::
2023-10-08 22:48:12 -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
6de61e7755
Add StackWalk64 backend ( #48 )
2023-09-24 17:30:56 -04:00
Jeremy Rifkin
183cdf5a1c
Error handling improvements ( #46 )
2023-09-23 17:46:26 -04:00
Jeremy
5c3df2571e
Rename stacktrace_frame.col to column, set a proper sentinel value, and update stacktrace.to_string to not have a tailing newline
2023-09-19 15:17:39 -04:00
Jeremy
137dc78710
Improve dbghelp symbolization thread safety
2023-09-19 11:05:04 -04:00
Jeremy Rifkin
0b32df64e4
Expand cpptrace API ( #37 )
2023-09-18 20:33:46 -04:00
Jeremy Rifkin
94f902e644
Try to get msvc speedtest working ( #36 )
2023-09-18 01:31:01 -04:00
Jeremy
fdbc69e18e
Refactor nested namespaces
2023-09-16 21:19:08 -04:00
Jeremy
5dc819186e
Baseline for middle-end system
2023-09-11 11:57:01 -04:00
Jeremy
0e27da8c11
Some symbol backend refactoring, get rid of pimpl nonsense
2023-08-31 01:21:22 -04:00
Jeremy
b246613045
Thread safety
2023-07-23 17:29:43 -04:00
Jeremy
55b5d8a488
File name refactor
2023-07-23 11:18:43 -04:00
Jeremy
237a23def4
Small tweaks and fixes
2023-07-21 22:36:48 -04:00
Jeremy
a540803cd9
Update stacktrace api and a couple minor tweaks
2023-07-09 22:57:15 -04:00
Jeremy Rifkin
b5af425d09
Add libdl back-end and improve testing system ( #4 )
2023-07-04 16:11:40 -04:00
Jeremy
323aeebe3e
Cleanup and work on fixing test cases
2023-07-04 08:38:58 -04:00
Jeremy
69581c9d58
Rename stuff
2023-07-02 13:37:30 -04:00
Jeremy
bdc8410f82
Add dbghelp config to workflow
2023-07-02 10:37:30 -04:00
Jeremy Rifkin
4475bc1680
Dbghelp back-end ( #2 )
2023-07-02 08:42:53 -04:00
Jeremy
b3474b50c3
Initial commit
2023-07-01 17:06:41 -04:00