Commit Graph

428 Commits

Author SHA1 Message Date
Tsche
fac4d08fd0
fix #221 (#223) 2025-02-28 10:55:44 -06:00
Jeremy Rifkin
a32e22aa44
Don't print internal errors when image base resolution fails, this can happen on mac since platform dylibs don't actually exist on disk. Closes #217. 2025-02-22 13:20:03 -06:00
Jeremy Rifkin
477aecec01
Add guard on forwarding constructor 2025-02-20 22:22:46 -06:00
Jeremy Rifkin
03b292c20b
mach-o fixes 2025-02-20 22:18:42 -06:00
Jeremy Rifkin
5bfcf280a5
Fix scope_guard forwarding 2025-02-20 22:04:07 -06:00
Jeremy Rifkin
9b02fc6f74
Replaced some un-ergonomic unique_ptr use with make_unique, switched some unique_ptr<T[]> use to just std::vector<T>, and added some RAII protection to dbghelp symbol resolution TI_FINDCHILDREN_PARAMS management 2025-02-20 22:02:01 -06:00
Jeremy Rifkin
3a4da8ccf0
Fix for an auto return type 2025-02-20 21:47:36 -06:00
Jeremy Rifkin
9a2ae3c96f
Add some NODISCARD attributes and uncomment scope_exit utility code 2025-02-20 21:43:25 -06:00
Jeremy Rifkin
6877782d96
Add cpptrace::can_get_safe_object_frame and add ctrace prefix for can_signal_safe_unwind 2025-02-20 21:36:19 -06:00
Jeremy Rifkin
3aa080d536
Remove a SFINAE check that keeps surfacing msvc bugs, fixes #215 2025-02-20 21:07:04 -06:00
Jeremy Rifkin
525ce871d5
Add missing include 2025-02-19 22:55:31 -06:00
Jeremy Rifkin
daed105fef
Cache elf and mach-o file objects 2025-02-19 22:49:55 -06:00
Jeremy Rifkin
69875cde19
Rework some move constructors and assignment operators to not simply swap 2025-02-19 21:33:03 -06:00
Jeremy Rifkin
b59a08634d
Small whitespace fix 2025-02-19 21:21:21 -06:00
Jeremy Rifkin
2bb29f71bc
Use a slightly clearer name
Co-authored-by: 9291Sam <sam.skinr@gmail.com>
2025-02-19 21:04:58 -06:00
Jeremy Rifkin
d6fff9022e
Fallback to the process handle in case DuplicateHandle fails 2025-02-19 20:52:50 -06:00
Jeremy Rifkin
ca8416ea1e
Abstract out an de-duplicate syminit and symcleanup logic for dbghelp 2025-02-19 20:40:58 -06:00
Jeremy Rifkin
6d62d01496
Improve locking surrounding dbghelp and lock in the dbghelp demangler 2025-02-18 23:34:08 -06:00
Jeremy Rifkin
f7675eac91
Refactor some dwarf utility abstractions into their own header 2025-02-18 20:54:43 -06:00
Jeremy Rifkin
832c3014b0
Don't create formatters on the fly in print_terminate_trace() 2025-02-18 20:15:12 -06:00
Jeremy Rifkin
b0d12daf22
Remove extern declaration for the absorb_trace_exceptions flag 2025-02-18 20:04:42 -06:00
Jeremy Rifkin
cebca81aa9
Add a newline for slightly improved visual separation 2025-02-18 20:02:15 -06:00
Jeremy Rifkin
26ef617c25
Use a raii_wrapper for the char array returned by abi::__cxa_demangle 2025-02-18 19:48:53 -06:00
Jeremy Rifkin
9c0d0db884
Address an msvc warning/error 2025-02-18 00:14:42 -06:00
Jeremy Rifkin
34be9f2f19
Add a check for dwarf_get_version_of_die's return code 2025-02-17 23:00:12 -06:00
Jeremy Rifkin
6d41ea0135
Fix UB due to forming a reference to a packed struct member 2025-02-17 22:59:48 -06:00
Jeremy Rifkin
728cefab55
Add setting to disable the use of dwarf aranges 2025-02-17 22:27:44 -06:00
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
e22300b36d
Refactor to not use if constexpr 2025-02-17 21:41:16 -06:00
Jeremy Rifkin
a4faef7f1e
Refactor cu_cache to use die_cache abstraction and reduce cu die cloning 2025-02-17 21:13:08 -06:00
Jeremy Rifkin
83527947a2
Add an abstraction for die caches / lookup and reduce die cloning 2025-02-17 20:40:46 -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
8c7b1dc6aa
Silence a gcc warning about unitialized values 2025-02-17 18:22:58 -06:00
Jeremy Rifkin
111f8e6aec
Simplify to two move constructors, just use the move assignment operator 2025-02-17 13:51:26 -06:00
Jeremy Rifkin
ead3f128aa
Make line_table_info serve as a raii utility for dwarf line table stuff 2025-02-17 13:50:06 -06:00
Jeremy Rifkin
8963639639
Fix an issue with destruction order of dwarf stuff and clean up cleanup logic 2025-02-17 13:23:58 -06:00
Jeremy Rifkin
b762ee7ec6
Remove some commented code 2025-02-17 13:05:57 -06:00
Jeremy Rifkin
87b14c87f8
Remove a comment 2025-02-17 01:04:45 -06:00
Jeremy Rifkin
62548497a8
Create a helper wrapper / abstraction for managing srcfiles lists 2025-02-17 01:02:28 -06:00
Jeremy Rifkin
0f990f05a1
Use raii_wrap for dwarf_dealloc_error in handle_dwarf_error 2025-02-17 01:01:42 -06:00
Jeremy Rifkin
4ab78f7a69
Fix srcfiles deallocation 2025-02-16 18:34:49 -06:00
Jeremy Rifkin
bc0164224e
Try using dwarf_set_de_alloc_flag(0) to improve performance and memory usage 2025-02-16 17:53:40 -06:00
Jeremy Rifkin
d18d6ee77d
Fix cleanup of dwarf aranges 2025-02-16 17:53:10 -06:00
Jeremy Rifkin
8f2193f35a
Fix handling of strtab in a code path in the elf code 2025-02-13 23:47:16 -06:00
Jeremy Rifkin
457bc4b8a1
Check external symbols start with _Z before demangling 2025-02-13 23:39:05 -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
8e7b4a953f
Roll back the cxxabi demangle _Z check 2025-02-02 18:32:15 -06:00
Jeremy Rifkin
b2180ae797
Rename builder methods 2025-02-02 16:58:22 -06:00
Jeremy Rifkin
f0a9e12e88
Format frames directly to the stream 2025-02-02 16:45:49 -06:00