Commit Graph
20 Commits
Author SHA1 Message Date
Ryan Fleury 0b91cab00a linux_demon: PTRACE_EVENT_STOPs can sometimes be reported even if a thread has already hit a trap (e.g. a trap net or breakpoint trap). this would sometimes cause spurious SIGTRAPs after issuing a PTRACE_INTERRUPT - so we need to flag halted threads to not treat that as a 'real' trap. furthermore, even though that trap was hit, it does not guarantee that the debugger would next see a SIGTRAP. that would cause spurious SIGILLs, because we'd resume threads *after* the trap, despite not seeing the trap, so they'd just see a malformed instruction (the bytes subsequent the initial trap). so in those cases, we need to roll such threads back, so that they re-execute the trap, and so that we see a regular SIGTRAP, and handle the trap correctly. 2026-09-29 12:28:05 -06:00
Ryan Fleury 0317f4c810 linux_demon: correct rebasing / phdr address parsing for both static/dynamic ELFs 2026-09-25 11:15:07 -06:00
Ryan Fleury bc7434f7ed linux_demon: do not fail when there is no dynamic loader present 2026-09-25 10:29:16 -06:00
Ryan Fleury 94392b4975 linux_demon: checkpoint 2026-08-11 14:02:40 -07:00
Ryan Fleury 1770d85308 linux_demon: more helper flattening / elimination 2026-08-11 11:01:58 -07:00
Ryan Fleury b8679b4a9a linux_demon: more helper flattening / elimination 2026-08-11 09:31:52 -07:00
Ryan Fleury 8f8e14c348 linux_demon: intrinsic links for addr -> module table 2026-08-10 14:56:29 -06:00
Ryan Fleury 45aeca0bf9 linux_demon: intrinsic links in threads/processes for pid mapping 2026-08-10 14:40:43 -06:00
Ryan Fleury 6b30c395d7 linux_demon: eliminate active-trap layer; do pre-trap instruction memory read in one batch before doing write, robustly handles duplicates; eliminate deduplication inside linux demon (ultimately we want to deduplicate traps sent by the dbg engine, but we should just dedup at that layer, long before the set of traps ever reaches the demon backend) 2026-08-10 14:20:22 -06:00
Ryan Fleury 9f83e388d2 linux_demon: more reading, flattening, elimination of unnecessary helpers / layers 2026-08-10 11:56:42 -06:00
Ryan Fleury d622fdf4fd eliminate helpers for thread/process exits & process creation - just pull them out into single spot in the signal handling loop 2026-08-08 21:04:22 -07:00
Ryan Fleury 05de22df76 linux/demon: eliminate unneeded fields, h/c matching, reading etc. 2026-08-07 14:43:15 -06:00
Ryan Fleury 38e321df79 linux/demon: more flattening & extra layer elimination 2026-08-07 14:13:30 -06:00
Ryan Fleury 8c2efc5adf linux/demon flattening / clean-up checkpoint - eliminate redundant helpers, single-use functions, obsolete code 2026-08-07 13:23:42 -06:00
Ryan Fleury d73ce364b9 major clean-up pass over unwinding/module-info abstraction, + usage in the debug engine. simplified / cleaned up DWARF helpers for unwind info & expressions. decoupling unwinding / DWARF evaluation from memory read callbacks. light module info now prepared by demon layer - debug engine no longer duplicates per-backend parsing. unwind abstraction layer now does thin abstraction over unwinding backends, debug engine only calls abstraction. clean up demon to have fewer ad-hoc 'queries' on handles, and prefer sending info over debug events when possible / when it fits the usage pattern. move DWARF enum specifications to metacode, generate enums/xlists/tables/etc. decouple raddbg/radbin completely from old parsing helpers. replace portion of DWARF dumping; pull out some new parsing helpers from converter / dumper. 2026-06-02 12:11:13 -07:00
Ryan Fleury 9cc2afc659 eliminate backend-specific module parsing from debug engine ctrl thread; just pass that info back via the demon event 2026-06-02 12:11:10 -07:00
Nikita Smith 8127763fa4 fix linux build 2026-06-02 12:10:40 -07:00
Ryan Fleury 95f4ade10d lift wait-for-process-memory-cache-update out of d_process_write, since that path runs on control thread now too as the general 'process handle write' abstraction - just move into the rd_eval_space_write path, since that wait was only for UI benefit anyways 2026-05-19 14:35:29 -07:00
Ryan Fleury 2f6d0f9aaa os -> wm; *_w32_ -> w32_*_, *_lnx_ -> lnx_*_ 2026-05-08 21:17:21 -07:00
Ryan Fleury 9a7782de47 re-slice linux/win32 backends, top-level folder is backend (demon/win32 -> win32/demon, etc.); os_gfx -> window_manager; fix linux / opengl builds for new apis/types 2026-05-08 15:21:22 -07:00