Commit Graph

341 Commits

Author SHA1 Message Date
Ryan Fleury c0d28e0ced only retry call stacks on stale / gen tears, *not* on errored frames. 2025-10-23 17:41:49 -07:00
Ryan Fleury c8c25c0f98 processless debug info loading/unloading; separate modules from dbg infos in eval; keep dbg infos around after debugging via config, correllate to new modules, evict when necessary, when generating new versions 2025-10-22 16:39:29 -07:00
Ryan Fleury 2f315911a5 switch off rd_cfg to cfg layer 2025-10-16 15:00:13 -07:00
Ryan Fleury 8dbfa97c71 adjust list lens member picking rules - use default argument, then fall back to next, prev, or the first pointer to an identical type 2025-10-16 11:10:00 -07:00
Ryan Fleury ac9d6e861c first pass at list view, w/ asynchronous offset chain gathering 2025-10-15 16:33:59 -07:00
Ryan Fleury 87edc583bf define ctrl entity eval spaces once, in ctrl layer - nest in rd layer 2025-10-13 12:40:28 -07:00
Ryan Fleury c738768e41 demon/win32: do not assume actual_read is valid after a failed process memory read 2025-10-09 16:05:13 -07:00
Ryan Fleury 9022efd3ab new strategy - allow artifact creation to report a completed generation which differs from the requested generation, thus preventing duplicate gen requests (in the case of ctrl process memory) 2025-10-09 11:24:48 -07:00
Ryan Fleury 28bb158c61 revert last change - that will forever-retry those reads! need a slightly different retry mechanism 2025-10-09 11:10:14 -07:00
Ryan Fleury fe6eff9d3b pass requested gen to artifact creation hooks, use to retry ctrl memory reads on many successive mem gen bumps - prevents spurious duplicate hashes in content store history 2025-10-09 10:40:31 -07:00
Ryan Fleury 96477c65dd switch to martins hash 2025-10-08 12:58:59 -07:00
Ryan Fleury 166b84cf30 eliminate content-layer-specific u128 hash 2025-10-07 16:24:54 -07:00
Ryan Fleury cd26bf1bcc only submit empty ctrl process memory artifacts if we have no other history; only retry on mem gen tears & valid ranges 2025-10-07 16:06:59 -07:00
Ryan Fleury 783988c0ac expand ctrl process memory cache access to allow waiting for fresh results, rather than any results; use when doing a ctrl process memory write, to prefer viewing less stale data on exact frame. also expand trap net generation with success bit, use to retry stepping commands across frames if process memory reads are hindered. abort after N retries. 2025-10-07 15:44:35 -07:00
Ryan Fleury 2acf77ad9e fix impossible disasm loading condition; do not go wide on dbgi matching unless we have significant-enough dbgis 2025-10-07 11:34:30 -07:00
Ryan Fleury 835a57f918 extend dbgi matching system with preferred dbgi key, to disambiguate results - fill with primary module dbgi in eval, to always prefer selected thread context when applicable 2025-10-06 14:31:57 -07:00
Ryan Fleury 213dc6a6a7 fix busted ctrl memory stream, when bad memory & null terminated (#647); do not refresh repeatedly due to loading, if any raddbg window is not focused 2025-10-06 11:38:58 -07:00
Ryan Fleury a58c23754a di2 -> di; delete old dbg info layer, delete async layer 2025-10-01 17:30:08 -07:00
Ryan Fleury 7707ba1d60 dwarf debug info option in builds, fix heuristic to try to load debug info from exe itself 2025-10-01 15:36:36 -07:00
Ryan Fleury db66beaf22 correctly interpret conversion completions; single high priority re-loop bit for async threads 2025-10-01 14:32:44 -07:00
Ryan Fleury 24406d1e4e use lack of user bps as hint that no rdis are necessary to wait on 2025-10-01 11:24:37 -07:00
Ryan Fleury cd048a878b fix module req cache bug; fall back on exe path as debug info 2025-09-30 17:54:31 -07:00
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