Nikita Smith
962f0e30ae
WIP fork
2025-12-09 09:56:43 -08:00
Nikita Smith
0565fdef0a
WIP add support for GNU LibC TLS model
...
Unlike on Windows, TLS index isn't part of the module format. glibc stores
it in the opaque link_map struct. There are many different heuristics
a debugger can use to locate it but most of them are unreliable and
prone to errors, or don't work when debugger attaches to a process.
We adopt the newer approach of looking for special symbols
in glibc that provide TLS index offset. These symbols were added in
2021, so programs linked with older glibc won't have TLS support.
2025-11-21 16:41:35 -08:00
Nikita Smith
b7fb4fe04d
WIP improved signal handling in multi-threaded programs
2025-11-19 11:38:22 -08:00
Nikita Smith and Ryan Fleury
c4c9ef5182
WIP: got Linux to the point where single stepping and breakpoint
...
events are being reported correctly to the debugger
2025-11-07 14:39:46 -08:00
Nikita Smith and Ryan Fleury
78f2e641bc
fix program header rebase issue in non-PIE exes, and export program header
...
info through DEMON event
2025-11-07 14:39:45 -08:00
Ryan Fleury
6e6a2df0cb
implement 'priority thread' in demon, to prefer debug events from selected thread - greatly improves multithreaded stepping
2025-07-16 15:38:27 -07:00
Ryan Fleury
709bc2cfab
float run/mem/reg generations out of demon, into core; fix issue of demon access synchronization w/ mem gens, causing failure-to-update-stale-parts-of-process-memory-cache
2025-06-28 10:02:51 -07:00
Ryan Fleury
94b969f203
copyright year
2025-06-02 14:13:57 -07:00
Ryan Fleury
14cfd87f68
start sketching out basic unreal type views
2025-05-28 18:00:16 -07:00
Ryan Fleury
7ba027e841
sketch out new markup API for programmatic address/data breakpoints
2025-04-12 15:21:48 -07:00
Ryan Fleury
ecad70ca19
pass through data breakpoint length, more progress on fixes/correctness in first pass
2025-04-11 18:07:00 -07:00
Ryan Fleury
929e68d074
first pass at setting up x64 debug registers for data breakpoints
2025-04-11 17:49:16 -07:00
Nikita Smith
652dcafbbf
demon helper for reading cstrings
2024-10-17 18:46:59 -07:00
Ryan Fleury
9932a30ef9
entity parameter tree equipment; architecture -> arch
2024-08-29 13:16:50 -07:00
Ryan Fleury
1b74fb0760
simplification pass over os core layer; simplification pass over base arena; set up build.sh; stub out new spot for linux os core
2024-07-15 17:23:01 -07:00
Ryan Fleury
376a7c48a5
pass over logging, include a lot of extra info in ctrl thread log; demon abstraction for target-process memory allocation/protection; switch spoofs to being in allocated page, rather than at bogus address
2024-06-19 11:12:21 -07:00
Ryan Fleury
bf2d5640fa
go back to per-inline-site line tables; eliminate call location for inline tables; these can be encoded via parent line tables; wire up parsed line tables to inline site production from symbol conversion phase
2024-06-13 15:18:29 -07:00
Ryan Fleury
995804cc78
demon2 -> demon; eliminate original demon layer
2024-03-22 16:33:48 -07:00
Ryan Fleury
a42ec6aeff
initial upload
2024-01-10 19:57:50 -08:00