Commit Graph

208 Commits

Author SHA1 Message Date
Jeremy
70bc51d371
Use -fullPath for atos on macos 2023-09-12 02:07: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
4b0af6b6d0
Refactor of some dwarf handling and debug improvements 2023-09-11 23:58:00 -04:00
Jeremy
851199d46d
Update middle-end ordering 2023-09-11 12:40:37 -04:00
Jeremy
db4f67d352
Lint fixes 2023-09-11 12:12:01 -04:00
Jeremy
5dc819186e
Baseline for middle-end system 2023-09-11 11:57:01 -04:00
Jeremy
09ccc95814
Fix lint 2023-09-11 10:36:57 -04:00
Jeremy
55e4aaceb0
Update optional implementation 2023-09-11 10:31:41 -04:00
Jeremy
dd7b8eba9c
basic optional implementation 2023-09-11 09:37:11 -04:00
Jeremy Rifkin
95ee2a815c
CI and dwarf work (#30) 2023-09-10 19:46:01 -04:00
Jeremy
0e27da8c11
Some symbol backend refactoring, get rid of pimpl nonsense 2023-08-31 01:21:22 -04:00
Jeremy Rifkin
6ed6e623ed
Initial work to add libdwarf as a back-end (#24) 2023-08-30 12:14:17 -04:00
Jeremy
d72e30af12
Fix paths with spaces 2023-08-27 21:46:16 -04:00
Jeremy
6ede6f6f53
Make the linter happy (for real x2) 2023-08-27 21:34:15 -04:00
Jeremy
c48f37cb68
Make the linter happy (for real) 2023-08-27 21:31:39 -04:00
Jeremy
e60fa2c388
Make the linter happy 2023-08-27 21:02:09 -04:00
Jeremy
fb258f0671
Handle empty addr2line input 2023-08-27 20:54:34 -04:00
Jeremy
0977253505
Address fopen errors 2023-08-27 20:46:00 -04:00
Jeremy
144ab89871
Add quick note 2023-07-24 21:56:37 -04:00
Jeremy Rifkin
72228ab5e8
Changes to handle elf image bases / text link-at addresses (#21)
Figure out the text offset for elf files. When testing on a system that
did not use ASLR by default a user found addr2line being invoked with
the wrong addresses.
2023-07-24 21:51:52 -04:00
Jeremy
d589f2a609
Fix for addr2line edge case 2023-07-24 18:49:34 -04:00
Jeremy Rifkin
43383228e7
Bake an absolute path for addr2line into the library to prevent against path injection (#19) 2023-07-23 23:01:20 -04:00
Jeremy
e1c7657a3e
Refactor PE parsing 2023-07-23 20:03:32 -04:00
Jeremy
0e701903ed
Refactor PE header parsing out of addr2line code 2023-07-23 19:58:58 -04:00
Jeremy Rifkin
d12cd313d3
Cache expensive computations (#18) 2023-07-23 19:05:11 -04:00
Jeremy
ec3bb29200
Remove old printbug statement 2023-07-23 17:49:32 -04:00
Jeremy
b246613045
Thread safety 2023-07-23 17:29:43 -04:00
Jeremy
cfd0a4e762
Update cpu check 2023-07-23 14:21:32 -04:00
Jeremy
55b5d8a488
File name refactor 2023-07-23 11:18:43 -04:00
Jeremy
bfb94d7e52
Fix trace formatting error 2023-07-23 10:40:04 -04:00
Jeremy Rifkin
75df02f7a3
Fix bug in the test ci script (#15) 2023-07-23 10:24:28 -04:00
Jeremy Rifkin
baf785cc49
Macos addr2line / atos support (#14) 2023-07-23 09:27:01 -04:00
Jeremy
00d6f1c9d1
Update how stacktraces are printed, add color, add a demo program, add a screenshot to the readme, and two small fixes to backends 2023-07-22 21:50:23 -04:00
Jeremy
927f5ea21e
Update README and minor tweaks 2023-07-22 09:15:36 -04:00
Jeremy
237a23def4
Small tweaks and fixes 2023-07-21 22:36:48 -04:00
Jeremy Rifkin
d7a5eb54fd
Add baseline mingw support (#13) 2023-07-21 22:33:56 -04:00
Jeremy Rifkin
73925368cc
Libgcc unwind backend (#11) 2023-07-20 01:14:38 -04:00
Jeremy Rifkin
b2df292d80
CI improvements (#10)
The key change here is to use a python script to test all
configurations, rather than a github actions matrix which spawns
hundreds of 2 second builds, which is horribly inefficient. Builds were
taking 6 to 16 minutes, now they take 2.5 to 5.5.
2023-07-19 22:30:37 -04:00
Jeremy Rifkin
04f8b88efd
Some CI and cmake changes (#9) 2023-07-18 22:21:56 -04:00
Jeremy Rifkin
8e4ee0783f
Various macos work (#7) 2023-07-14 08:35:17 -04:00
Jeremy Rifkin
d955c61cd6
Try to add basic performance testing (#8) 2023-07-13 21:54:17 -04:00
sean
6b55222a4b
Fix: Support macOS (#6)
Simpler than I expected tbh. macOS uses the same backtrace and dladdr
functions, and with Clang for Xcode we can also just use cxxabi for
demangling.

Co-authored-by: Jeremy Rifkin <51220084+jeremy-rifkin@users.noreply.github.com>
2023-07-11 18:01:55 -04:00
Jeremy
a540803cd9
Update stacktrace api and a couple minor tweaks 2023-07-09 22:57:15 -04:00
Jeremy
57f5cc529c
Use _exit() over exit() 2023-07-09 21:50:39 -04:00
Jeremy Rifkin
6d9d2a9747
Add addr2line back-end (#5) 2023-07-09 21:10:53 -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
1a1c0d9875
Fallback for to backtrace_syminfo for CPPTRACE_FULL_TRACE_WITH_LIBBACKTRACE too 2023-07-02 23:26:55 -04:00
Jeremy
4dac00a87f
Try falling back to backtrace_syminfo 2023-07-02 21:55:39 -04:00
Jeremy Rifkin
8b101d04e9
Add testing workflow (#3) 2023-07-02 21:23:35 -04:00
Jeremy
f56e8c5869
Added C++23 stacktrace backend 2023-07-02 15:20:14 -04:00
Jeremy
69581c9d58
Rename stuff 2023-07-02 13:37:30 -04:00
Jeremy
6c950e0817
Skip library frames when unwinding 2023-07-02 11:52:26 -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 Rifkin
99a54e3597
Build work (#1) 2023-07-01 22:14:05 -04:00
Jeremy
b3474b50c3
Initial commit 2023-07-01 17:06:41 -04:00