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
|
4e7a6127d8
|
dbg_engine: process memory cache - always retry on memgen 'tearing', do not enforce size restriction. linux_demon: correctly relativize loaded module paths when needed per the loading process' working directory. raddbg: disasm view, do not skip too far back - can go into unmapped space. eval: file/folder filtering - hoist exact matches to the top.
|
2026-09-28 09:18:59 -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
|
df1de0541a
|
linux_demon: robustness to clone-then-stop, *or* stop-then-clone
|
2026-09-24 10:12:22 -06:00 |
|
Ryan Fleury
|
ca0764c2e2
|
linux_demon: ptrace stop vs. clone notes - we cannot rely on the order!
|
2026-09-23 16:56:50 -06:00 |
|
Ryan Fleury
|
c97907a7b9
|
fix overly aggressive tls module base vaddr lookup cache retry
|
2026-08-27 19:24:16 -06:00 |
|
Ryan Fleury
|
08d25fa39d
|
linux_demon: fix incorrect arena buckets for probe parsing, fix zero process being incorrectly used (snap process to thread process, if wait_id does not refer to any process itself; text: fix treating R"'s as starting a herestring, if ending a non-herestring
|
2026-08-13 12:28:06 -07:00 |
|
Ryan Fleury
|
a47be13d70
|
linux_demon: do not assume nonzero threads
|
2026-08-12 10:01:40 -07:00 |
|
Ryan Fleury
|
94392b4975
|
linux_demon: checkpoint
|
2026-08-11 14:02:40 -07:00 |
|
Ryan Fleury
|
338a8226a1
|
linux_demon: fix incorrect shdr read
|
2026-08-11 11:08:04 -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
|
980a9908d1
|
linux_demon: fix kill regressions from flattening
|
2026-08-09 20:27:00 -07: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
|
7388b757d1
|
demon: eliminate redundant access scopes
|
2026-08-07 10:17:01 -06:00 |
|
Ryan Fleury
|
914c1946b0
|
fix overly-aggressive visualization of unmapped addresses (while read is stale); fix unaligned allocations of xsave blocks in linux_demon; fix some edges in custom window borders in x11
|
2026-08-05 12:47:29 -06:00 |
|
Ryan Fleury
|
a0a16ea11e
|
fix eh_frame unwinder - switching to synchronous process reads exposed losing info about a missed address read for unwinding, so unwinds never succeeded
|
2026-08-04 18:51:01 -07:00 |
|
Малов Андрей Владимирович
|
94da046fb6
|
demon/linux: derive symbol count from GNU_HASH
|
2026-06-09 16:02:29 -07: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
|
4acd8a9b86
|
fill out address
|
2026-06-02 12:10:26 -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
|
dcc78314ab
|
fix dbg_info loader treatment of nil keys, avoid bad usage of blank '.rdi' files; os_lnx_* -> lnx_*
|
2026-05-12 14:42: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 |
|