Commit Graph

97 Commits

Author SHA1 Message Date
Mārtiņš Možeiko d8bb8c76c6 add shadow stack register and read it in win32 thread context 2025-09-03 09:36:20 -07:00
Ryan Fleury cdec8d5980 ctrl/demon: fastfail exception codes / notes; p2r2: finish symbol conversion etc. in new wavefront-style version 2025-08-19 16:47:12 -07:00
Ryan Fleury c33dd2869a define synchronization primitive interface in base layer, implement using os layer; convert all usage -> base layer; use base sync primitives in lane tctx info 2025-08-18 10:46:43 -07:00
Ryan Fleury cd8c3a2172 enable read/write bits on just read data breakpoint on x64 - there is no way to do a read-only (without write) data breakpoint 2025-08-06 11:50:01 -07:00
Ryan Fleury 9c2bdf492f ptrace register reading debugging 2025-08-04 12:36:04 -07:00
Ryan Fleury 25963dc9b4 demon/linux: correct main module address range formation; further progress on event processing 2025-07-31 17:33:58 -07:00
Ryan Fleury a323aec6d0 demon/linux: x64 trap writing 2025-07-31 15:10:25 -07:00
Ryan Fleury 7c99e79981 demon/linux: first pass port at x64 register writing 2025-07-31 14:54:28 -07:00
Ryan Fleury 1a19bf9663 render/d3d11: adjust allowed frame 'latency' (frames-in-queue) based on number of active windows, to not unnecessarily block if we have two windows to build frames for; demon/linux: sketch out register writing path, ensure reg read/write paths have slots for other architectures 2025-07-31 14:09:42 -07:00
Ryan Fleury 9ef87e9d56 fix to match 32 -> 64 change in demon/win32 2025-07-29 14:22:23 -07:00
Ryan Fleury 7403a8ea3b demon/linux: x64 register reading 2025-07-29 14:19:54 -07:00
Ryan Fleury 0e9f2ee03c demon/linux: halting, sigstop cases 2025-07-28 17:47:50 -07:00
Ryan Fleury 64c2d98ede demon/linux: sketch out signal interpretation, more ptrace study 2025-07-28 17:25:24 -07:00
Ryan Fleury 4d7088d321 do not pre-emptively exit the debug event loop on timeout unless we actually have debug strings 2025-07-25 14:21:31 -07:00
Ryan Fleury fcf3e73f5f demon/linux: thread resuming in dmn_ctrl_run 2025-07-17 18:51:40 -07:00
Ryan Fleury 6fb406d6c5 demon/linux: launch event info coverage, module path strings, pipe deferred debug info events first on dmn_ctrl_run 2025-07-17 18:05:00 -07:00
Ryan Fleury eba2aff0f0 demon/linux: process read/write 2025-07-17 14:46:31 -07:00
Ryan Fleury 3466779d41 demon/linux: kill, detach, process iteration 2025-07-17 14:45:08 -07:00
Ryan Fleury 2db6b826a1 demon/linux: launching events/entity builds; access synchronization 2025-07-17 14:31:57 -07:00
Ryan Fleury 0610d5ae13 demon/linux: pid extraction, module extraction, most of launching path 2025-07-17 14:08:44 -07: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 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