Commit Graph

76 Commits

Author SHA1 Message Date
Ryan Fleury fc8b521b2c adjust demon to correctly produce, & ctrl to correctly process, breakpoint events which cannot be correlated to a high-level UI-defined breakpoint state. this catches, for example, data breakpoints which are programmatically set by the user program. 2025-07-16 11:54:02 -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 4926f6cfc8 programmatic address range annotations; pipe -> ctrl entities; render in memory view 2025-06-08 17:37:55 -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 56b975a6b1 adjust async call stack querying API to guard against waiting in clearly-invalid cases (trying to wait for call stacks when running, for example); also eliminate logs 2025-05-20 10:36:44 -07:00
Ryan Fleury a379134ed8 demon tweaks / debugging; adjust call stack cache reading API to account for high-priority path, where we want to try computing the thread's call stack immediately 2025-05-16 21:12:58 -07:00
Ryan Fleury e513af5361 ditto 2025-05-14 15:30:49 -07:00
Ryan Fleury 60e47fb821 unwind cache -> callstack cache 2025-05-14 15:28:57 -07:00
Ryan Fleury 3fd1f9d255 stub out demon/fontprovider so we can build debugger 2025-05-10 14:28:14 -07:00
Ryan Fleury 8b7e7471f5 markup: thread id based APIs for names/colors; handle names/colors-before-thread, or id-based application, in ctrl layer 2025-05-03 16:45:45 -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 6a5fa58d8a dedup flagged traps, so we don't write the same data breakpoint into the registers multiple times 2025-04-12 14:47:29 -07:00
Ryan Fleury 97e3c73086 fix flagged-trap-search 2025-04-12 14:39:38 -07:00
Ryan Fleury 0f380e9228 transmit user breakpoints hit from demon -> ctrl using ctrl-defined IDs, correllate those IDs to rd-defined IDs, use rd-defined IDs in stop events to count bp hits, rather than re-resolving breakpoints. further fixes & work on first pass of data breakpoints 2025-04-12 14:28:38 -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
Martins Mozeiko 0c999d70dc better error message if CreateProcess fails 2025-04-07 10:42:54 -07:00
Nikita Smith 1c518bfa07 prefix COFF machine enums with "Type" 2025-03-31 22:53:10 -07:00
Ryan Fleury bca5169447 eliminate manual console creation & needs-console detection; use user-error mechanism for process creation failure 2025-03-31 16:38:18 -07:00
Ryan Fleury 3911a66b30 fill out first pass implementations of raddbg_markup features; thread names, thread colors, format-string output-debug-string helper, attachment-checking 2025-03-28 10:56:41 -07:00
Ryan Fleury a826afd4d6 merge part 2 2025-03-25 16:30:05 -07:00
Ryan Fleury c4f4b5ff01 merge 2025-03-25 16:21:51 -07:00
Ryan Fleury 4316325b33 demon win32: only alloc console when launching target if the exe is not a windows gui pe subsystem 2025-03-19 16:08:29 -07:00
Nikita Smith 153bbc7b1d pass over COFF layer
- updated naming convention on structs, enums, and macros to conform with code base style
- moved related structs closer to each other
- moved parser code to separate file
2025-01-20 19:31:52 -08:00
Ryan Fleury 3cd32fa235 correctly prepare paths for windows launches in demon 2024-11-03 14:45:21 -08:00
Ryan Fleury 4769d0a8d4 narrow scope of name resolution for debugger collections; default launching to not attach to child processes, set up msgs to parameterize this 2024-10-28 15:37:28 -07:00
Nikita Smith 652dcafbbf demon helper for reading cstrings 2024-10-17 18:46:59 -07:00
Ryan Fleury e376ad8113 stdout/stderr/stdin file path overrides for targets 2024-10-17 11:25:47 -07:00
Ryan Fleury 9932a30ef9 entity parameter tree equipment; architecture -> arch 2024-08-29 13:16:50 -07:00
Ryan Fleury 6d30455e76 further progress on eliminating file entities; further entity simplification; set up external identifier resolution map for evaluating 'meta' variables; sketch out generalized entity serialization path 2024-08-13 11:39:25 -07:00
Ryan Fleury b18e437337 git normalize all files 2024-07-26 11:13:47 -07:00
Martins Mozeiko ce7c8d5244 avx512 registers & fixes for getting & setting x64 context 2024-07-23 08:43:35 -07:00
Ryan Fleury 4835264059 stub out linux demon; linux font provider; begin work, get windows/events up and running in os_gfx 2024-07-18 13:37:22 -07:00
Ryan Fleury ec9c68f55e start work on raddbg building 2024-07-16 17:23:08 -07:00
Ryan Fleury 3cc51038df os_core: linux port for memory, thread info, filesystem apis 2024-07-16 13:24:54 -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 b5b5aca691 log win32 demon resume code 2024-06-19 12:07:08 -07:00
Ryan Fleury 435877824a oh NO... never mind... mystery solved... be VERY CAREFUL ABOUT STATE MACHINES! fixes incorrect non-resets of win32 demon 'exception not handled' state, which was buggily leading to DBG_EXCEPTION_NOT_HANDLED being passed to ContinueDebugEvent 2024-06-19 11:56:47 -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 f6eec680bc adjust single stepping rule to be robust to non-single-step events; this is still not what the issue is pertaining to the stepping bug... 2024-06-18 17:19:17 -07:00
Ryan Fleury 723c7c5d4d further tightening up of win32 demon run path; take a few fastpaths on x64; speeds up conditional breakpoints 2024-06-14 09:50:33 -07:00
Ryan Fleury fb9824dc24 remove unnecessary ctrl log flushes, which seriously bloated the ctrl thread running path 2024-06-14 07:57:46 -07:00
Ryan Fleury fb6689a74d always report debug string events earlier in queue 2024-06-13 15:28:56 -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 81b45f1a2f do not broadcast unnecessarily in task system kickoff 2024-06-13 15:18:28 -07:00
Ryan Fleury f50b54cff7 complete metacodification of rdi format info into tables 2024-06-01 19:24:46 -07:00
Ryan Fleury d3adfdeced deduplicate debug string event generation; log ctrl messages 2024-05-31 11:17:59 -07:00
Ryan Fleury 6d4b4b1526 time-based exit path for demon win32 event consumption loop, to not overly-aggressively-buffer things 2024-05-30 07:10:21 -07:00
Ryan Fleury da54fd1217 majorly improve outputdebugstring performance 2024-05-30 07:06:29 -07:00