Commit Graph
100 Commits
Author SHA1 Message Date
Ryan Fleury f60ccb60f1 do not attach last successful filter to view state, since does not apply in all cases - fix artifact staleness default marker (if we do not get an artifact at all, then it is stale) 2025-10-07 12:09:14 -07:00
Ryan Fleury 0f0e36d40b disambiguate rip identifier in disasm base address calculation 2025-10-07 11:45:09 -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 fadef8a886 log source of dwarf info more specifically 2025-10-07 11:03:18 -07:00
Ryan Fleury fe8608ee1c more verbose logging in radbin 2025-10-07 10:37:15 -07:00
Ryan Fleury d20cce536a rdim bake parameter joining, source rdi bake parameters from *all* inputs, and not mutually-exclusive dwarf vs. pdb cases 2025-10-07 10:20:19 -07:00
Ryan Fleury b02a815a27 flush dwm on resize; use WS_EX_NOREDIRECTIONBITMAP window flag to avoid dwm bug 2025-10-06 17:34:19 -07:00
Ryan Fleury 2a7177861b remove extra watch row column cases - simplify most cases down to expr / eval. use extra 'note' for watch window cells to annotate type info - this sacrifices the full type evaluation cell, and instead uses a small extra bit of text to denote the type for quick reading. but this full type cell is not needed in most cases, and it can always be reobtained with an explicit typeof evaluation. 2025-10-06 17:06:00 -07:00
Ryan Fleury 6f4e78d06c do not try to release failed-creation textures 2025-10-06 14:55:51 -07:00
Ryan Fleury 284524e0c4 fix incorrect ctx check in win32 demon 2025-10-06 14:35:41 -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 d2216019b9 prefer primary module, or modules with space matching the primary module's, when doing top-level debug info name matching in eval 2025-10-06 14:23:34 -07:00
Ryan Fleury af4f18ed98 sketch out more flexible texture 2d format codes 2025-10-06 13:52:59 -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 811f316ca2 fix clang warnings in dwarf -> rdi 2025-10-06 11:20:12 -07:00
Ryan Fleury 32e344c806 remove dbgi name from ood warning 2025-10-02 18:34:04 -07:00
Ryan Fleury 073a0fcf3a add checksum checking for timestamps; fix incorrect sha256 async checksum calculation; plug file-ood back in 2025-10-02 18:34:04 -07:00
Ryan Fleury 569481c779 plug in debugger-side checksum computation & comparison 2025-10-02 17:29:59 -07:00
Ryan Fleury ee759dbac7 sha1/sha256 2025-10-02 17:07:16 -07:00
Ryan Fleury 104e72999c base layer hashing algorithms, fill out md5 2025-10-02 16:20:34 -07:00
Ryan Fleury 2d672d232f checksum baking & rdi changes; checksum dumping 2025-10-02 16:12:53 -07:00
Ryan Fleury c1e32b93a7 switch from variable size checksum data sections to just making well-defined fixed size ones for all of the concrete cases 2025-10-02 15:43:01 -07:00
Ryan Fleury 403d05cc8b first pass at checksum baking 2025-10-02 14:17:44 -07:00
Ryan Fleury 56b5792546 rdi checksum kinds, rdim checksums, pull parsed checksum kinds/values from cv, fill out rdim checksums (still haven't put into rdi itself yet) 2025-10-02 13:40:45 -07:00
Ryan Fleury b88c45d737 dbg info conversion events 2025-10-02 12:44:42 -07:00
Ryan Fleury 871daf3f22 only push unique hashes to key history in content layer; fix staleness detection in search 2025-10-02 12:08:31 -07:00
Ryan Fleury 32c4da878f fix radbin build 2025-10-02 11:53:53 -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 544fea0929 actually - keep (path * stamp -> key) and (key -> path * stamp) history - we do not need to evict these. also fix incorrect file map view closure on debug info close 2025-10-01 17:19:15 -07:00
Ryan Fleury 2cb94c422a update key -> path and path -> key records on debug info closing 2025-10-01 16:36:45 -07:00
Ryan Fleury 47e2014250 reset high priority bit 2025-10-01 15:53:58 -07:00
Ryan Fleury 24670e3095 fix di2 successful search continuity 2025-10-01 15:46:42 -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 b92821b503 convert less aggressively, fix incorrect di2 request batch clearing 2025-10-01 11:44:47 -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 628eaf84ee fix release order in dbg_info2 2025-09-30 16:47:26 -07:00
Ryan Fleury 89a026e2a6 fix content cache submission - theory is that non-zeroed keys were causing double-decs of history! 2025-09-30 15:55:22 -07:00
Ryan Fleury d5ea64a72d merge blob & key storage locking scopes in content layer - keep both blob & key cache updates 'atomic' 2025-09-30 15:25:15 -07:00
Ryan Fleury 5b00aaadaf debugging / fixes 2025-09-30 14:18:11 -07:00
Ryan Fleury 4964a94cd3 transition to dbg_info2 2025-09-30 12:52:32 -07:00
Ryan Fleury 4b122dec51 testing / debugging 2025-09-30 11:21:35 -07:00
Ryan Fleury ea99cb22e7 dbg_info2: async match artifact cache hooks / lookup 2025-09-30 11:16:15 -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 45a2137d08 linux: fix incorrect gethostname usage, fix build, fix clang warnings 2025-09-30 10:02:40 -07:00
Ryan Fleury d842da0b2e checkpoint on wide all-debug-info fuzzy searching cache 2025-09-29 17:21:37 -07:00
Ryan Fleury 4d30933c44 debug info load gen, to easily key anything based on entire set of loaded debug info 2025-09-29 17:15:03 -07:00
Ryan Fleury d2678db25f first pass at new wide async all-debug-info fuzzy searching 2025-09-29 17:09:44 -07:00
Ryan Fleury 768755b0a4 equip conversion subprocesses with info to signal parent on completion, + plug into a wakeup thread, which can re-trigger the async wavefront. also fix duplicate line counts in text parsing 2025-09-29 16:38:57 -07:00
Ryan Fleury 3a409f5ab3 throttle new conversion process launches based on available system-wide threads, with heuristic threshold of oversubscription; tweak size -> thread count heuristic 2025-09-29 16:07:16 -07:00
Ryan Fleury 92809ee6b6 new debug info loading layer debugging & fixes 2025-09-29 15:07:08 -07:00
Ryan Fleury 08904c9e2d another checkpoint on new dbg info loading 2025-09-29 14:51:28 -07:00
Ryan Fleury 46527c8465 checkpoint in new debug info layer: 16-byte key (set up to use GUIDs or otherwise unique keys at the base), better control over oversubscribing cores for conversion, better prioritization of conversions 2025-09-29 14:12:33 -07:00
Ryan Fleury d7fc7d1fa9 handle aliases gracefully in eval expansion & string iterator 2025-09-26 16:23:17 -07:00
Ryan Fleury eda4f6bafa preserve & visualize restrict type modifiers in eval 2025-09-26 15:32:13 -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 9033ad8a2e no dashes in guid formatting in breakpad output; also include age 2025-09-26 11:44:42 -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 88eddce324 same for clang 2025-09-25 16:42:26 -07:00
Ryan Fleury b1b03ebd56 turn on opt:ref and opt:icf for all builds 2025-09-25 16:38:42 -07:00
Ryan Fleury d1845bf51f no_inline on entry_point 2025-09-25 15:52:58 -07:00
Ryan Fleury 366c63e3ce extend artifact cache loop with an early-out cancellation path, when new high priority requests have been pushed, while low priority ones are still being worked on 2025-09-25 15:35:22 -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 05fbd06f82 delete dead code, dbgi -> dbg_info 2025-09-25 11:57:23 -07:00
Ryan Fleury 6d39a66672 eliminate ptr graph cache experiment 2025-09-25 11:52:33 -07:00
Ryan Fleury f61cd2b673 fix use of unused layers 2025-09-25 11:47:56 -07:00
Ryan Fleury 7990b043a0 eliminate geo cache, replace with trivial use of artifact cache defined by geo visualizer 2025-09-25 11:47:31 -07:00
Ryan Fleury d8fcbcd868 eliminate texture_cache; replace with trivial usage of artifact cache, in raddbg layer defining the bitmap visualizer, which was the only usage 2025-09-25 11:40:35 -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 3dc3707b22 maintain fs change gen alsog 2025-09-24 15:41:00 -07:00
Ryan Fleury bdfd4c14ae eliminate old file stream cache, just use simplified cache for linting filesystem changes; otherwise switch everything to artifact cache 2025-09-24 15:40:11 -07:00
Ryan Fleury 684f6344c5 switch to old call stack cache for now 2025-09-24 15:08:07 -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 0679b4b04c #if 0 out old evictor thread for ptr graph 2025-09-24 13:43:51 -07:00
Ryan Fleury fa0b2440ec subset flag for constants conversion; fix empty-tpi-hash case 2025-09-24 12:42:04 -07:00
Ryan Fleury 7f2a066e8f tear out old file stream tick; switch disasm to using new file stream for interleaved text lines 2025-09-24 12:09:59 -07:00
Ryan Fleury 8e68187107 fix incorrect file artifact reading offsets; switch file eval reads to new artifact cache 2025-09-24 11:53:52 -07:00
Ryan Fleury 5f883860e0 move part of file evaluations onto new async file reads 2025-09-24 11:50:53 -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 2ce581fa19 more subset flag respecting 2025-09-22 17:39:26 -07:00
Ryan Fleury 5c1cf77fda respect subset flags in pdb -> rdi converter 2025-09-22 17:32:05 -07:00
Ryan Fleury 8078b90f51 text_cache / dasm_cache -> text / disasm 2025-09-22 16:52:55 -07:00
Ryan Fleury 408c57639a eliminate dasm cache hook calls 2025-09-22 16:23:11 -07:00
Ryan Fleury 6ac8c588f7 eliminate old disasm cache code 2025-09-22 16:22:33 -07:00
Ryan Fleury 4b1939bd6d provide u64 broadcasting mechanism in base layer wavefront lane context, allows more flexible data sharing mechanism which does not depend on statics; reshape dasm building codepath for clicking into artifact cache 2025-09-22 16:21:30 -07:00
Ryan Fleury 8a1e6ab2e6 extend artifact cache with non-key-included generations, to allow gracefully decaying certain computations 2025-09-22 15:25:01 -07:00
Ryan Fleury 811e58c249 progress on single async-filled computation artifact cache; hook up to text cache layer, eliminate bespoke cache for text only 2025-09-22 15:13:31 -07:00
Ryan Fleury 9459327687 pull out table stripe arrays as base layer primitive; unified 'artifact cache' experiment 2025-09-22 14:07:21 -07:00