Commit Graph

319 Commits

Author SHA1 Message Date
Ryan Fleury 4964a94cd3 transition to dbg_info2 2025-09-30 12:52:32 -07:00
Ryan Fleury bf27344a9b replace extra gen parameters in artifact creation hook; replace with explicit cancellation signal, passed by caller 2025-09-30 11:01:04 -07:00
Ryan Fleury 5fa3efe76a bugfix evictions, correctly maintain downstream content hash counts 2025-09-26 15:09:47 -07:00
Ryan Fleury ad9c67ae43 eliminate old caches from ctrl layer 2025-09-26 13:44:19 -07:00
Ryan Fleury b2acc13fb8 eliminate old async call stack computation / call stack cache code 2025-09-26 12:00:25 -07:00
Ryan Fleury 99195282f1 async call stack tree computation -> artifact cache 2025-09-26 11:57:08 -07:00
Ryan Fleury cd7e2d3f89 breakpad dumping: include pdb name if missing exe name, include pdb guid if no exe hash 2025-09-26 11:37:07 -07:00
Ryan Fleury 9ad7361cb9 thin out needed entities for call stack build; fix unnecessary re-loops on async threads 2025-09-25 17:07:02 -07:00
Ryan Fleury c4bf855af9 extend artifact cache nodes with last requested vs. last completed gen; pass last requested gen to artifact creation to support cancellation 2025-09-25 14:59:29 -07:00
Ryan Fleury b4d672efba flag ctrl memory reads as high priority 2025-09-25 11:20:14 -07:00
Ryan Fleury a338b3413e artifact cache fixes, move ctrl process memory streaming to artifact cache 2025-09-25 10:35:47 -07:00
Ryan Fleury ca7bfab7ea bucket artifact cache requests by wideness/priority; do high/wide, high/thin, low/wide, low/thin 2025-09-24 17:08:08 -07:00
Ryan Fleury 10e8a10d9b adjust new call stack artifact cache hooks to work gracefully with terminated threads/processes 2025-09-24 16:06:46 -07:00
Ryan Fleury 4b335103bc begin moving call stack computation / cache to artifact cache; fix incorrect broadcast val location 2025-09-24 15:04:45 -07:00
Ryan Fleury e7368af35c artifact cache waitable cache access; debugging / fixes; start plugging in file stream to artifact cache 2025-09-24 11:25:18 -07:00
Ryan Fleury 7e05a60ffe checkpoint on more artifact cache port of ctrl process memory streaming 2025-09-23 17:05:45 -07:00
Ryan Fleury 141b6c1396 sketch out artifact cache hooks for file streaming layer 2025-09-23 11:58:00 -07:00
Ryan Fleury 6cdce22284 expand artifacts a bit more, to be more useful with larger-than-ptr but not huge allocations 2025-09-23 11:27:56 -07:00
Ryan Fleury 9787c698e6 sketch out new async path for ctrl memory streaming 2025-09-23 10:58:17 -07:00
Ryan Fleury 1b93dbd4bd promote content scope to base layer, rename as 'access'; generalize based just on list of scope refcounts, + optional cvs; eliminate c_scope; replace dasm_scope with access as well 2025-09-18 15:21:22 -07:00
Ryan Fleury 5381307e90 hash_store -> content 2025-09-18 14:42:25 -07:00
Ryan Fleury 0d15b8670b eliminate bifurcated rw lock path based on exclusive mode; promote thread operations to base layer, use os layer as impl; first pass on moving file streaming layer to base layer's async wavefront 2025-09-17 14:47:55 -07:00
Ryan Fleury 937c6c8bce eliminate radcon, eliminate unused string helpers 2025-09-16 10:17:02 -07:00
Ryan Fleury 1b82c52803 only enable priority thread running on initial run loop; do not pay the cost every run loop iteration 2025-09-15 17:18:59 -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 7be1faaa9b fix callstack cache lookup early out case 2025-08-13 14:13:10 -07:00
Ryan Fleury 36dcd65a83 first pass at call stack tree evaluation 2025-08-11 16:08:04 -07:00
Ryan Fleury 056604fb94 sketch out tline -> vline text wrapping cache types; first pass of async call stack tree builder 2025-08-11 13:46:06 -07:00
Ryan Fleury 1856c52e58 xxhash for ctrl layer 2025-08-05 09:27:38 -07:00
Ryan Fleury b31b4612e9 pre-emptive thread register cache updating on ctrl thread - cache reading/updating on ui thread should always be allowed to gracefully fail, since it is literally impossible on linux, but we can always rely on the ctrl thread to pipe the right thing through eventually. 2025-08-04 13:13:18 -07:00
Ryan Fleury ad735dab5e pull raddbg byte attachment aside into standalone section - this guarantees byte placement, does not rely on ordering, and does not require symbols 2025-07-31 13:15:37 -07:00
Ryan Fleury 8d1de1b24c report user errors from ctrl thread more vigorously 2025-07-23 14:06:17 -07:00
Ryan Fleury 6026ac16d4 fix call stack flickering; do not timeout early if we need to fall back to stale results after requesting new call stack compute 2025-07-23 10:38:59 -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 74e1ccd147 invalidate mem/reg/run generations on every dmn run 2025-06-28 11:18:02 -07:00
Ryan Fleury 89cfd65f9c fix incorrect programmatic bp generation on vaddr range notes... 2025-06-28 11:07:43 -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 e34e8adbaa do not disqualify flagged expr breakpoints if 0 2025-06-27 23:15:02 -07:00
Ryan Fleury b67d7f729b do not require eval cache for breakpoint touched-symbols parse/check; reintroduce memory read retry loop - necessary in some cases 2025-06-27 22:59:10 -07:00
Ryan Fleury 5ba9b6abd8 regression debugging & notes 2025-06-27 22:54:34 -07:00
Ryan Fleury 36f5597d8e eliminate unneeded path-renormalization in debug info cache lookup 2025-06-25 10:52:29 -07:00
Ryan Fleury e2eb1cd6d6 do not unnecessarily block on parses when closing modules 2025-06-25 09:41:48 -07:00
Ryan Fleury 10a49ca331 actually, rely on entry point trap calculation to do exe-rdi waiting; adjust default fonts to be more consistent with windows 2025-06-25 08:32:48 -07:00
Ryan Fleury a2608261d1 always wait for initial module debug info 2025-06-25 07:56:51 -07:00
Ryan Fleury ad995374bb cache module requirement disqualifications; reuse within scope of same run (& thus same user bps) 2025-06-20 07:57:16 -07:00
Ryan Fleury d532f62aaa plug in expression-based breakpoints to RDI-necessary-checking path 2025-06-19 14:53:13 -07:00
Ryan Fleury bfe90f5906 plug in thin pdb analysis to determine if waiting on a full RDI conversion is necessary - do not wait if RDI is determined to be unnecessary given breakpoints! 2025-06-19 14:48:13 -07:00
Ryan Fleury 0ff246d13f fixes to ctrl call stack lookup path 2025-06-18 13:26:45 -07:00
Ryan Fleury df901b2497 pass over ctrl call stack lookup path, eliminate races between multiple retry loops 2025-06-18 12:42:34 -07:00