Commit Graph
100 Commits
Author SHA1 Message Date
Ryan Fleury 25beda50ca mask off more work based on subset flags from baker 2025-10-15 15:44:04 -07:00
Ryan Fleury d9d321c074 mask off name map builds 2025-10-15 15:34:08 -07:00
Ryan Fleury d6a7c8bd00 adjust chunk sizes for per-sym-stream symbol chunk lists 2025-10-15 15:21:42 -07:00
Ryan Fleury 9377efbe13 eliminate rest of p2r_shared usage, just use lane syncs 2025-10-15 14:21:32 -07:00
Ryan Fleury d347e2473b eliminate most reliance on p2r_shared for shared data - isolate scratch allocations, pull into scratch arenas, pop when possible 2025-10-15 14:07:42 -07:00
Ryan Fleury 80b6744673 move more scratch artifacts to scratch lifetimes 2025-10-15 12:01:40 -07:00
Ryan Fleury 1d9870c1f9 rdi string baking, name map baking, idx run baking: put temporary per-lane artifacts/maps onto scratch & pop - reduce permanent memory usage 2025-10-15 11:55:45 -07:00
Ryan Fleury 5cc9d9ae89 remove new marker 2025-10-14 16:37:47 -07:00
Ryan Fleury c7d0a3431b eliminate old vmap baking 2025-10-14 16:35:24 -07:00
Ryan Fleury b757762908 plug in new vmap baking 2025-10-14 16:34:51 -07:00
Ryan Fleury feb5249f47 first pass at faster & simplified vmap baking: sort ranges by both base voff *and* size, generate vmap directly from sorted ranges w/ stack machine; avoid quadratic pop 2025-10-14 16:02:47 -07:00
Ryan Fleury 0d06b7d2d2 regrel32: interpret rbp-relative offsets as potential parameters as well (this only shows up with /ZI - usually everything is rsp-relative) 2025-10-14 10:13:44 -07:00
Ryan Fleury 92517ef2d7 re-enable single-step on empty trap net, if no line info is present 2025-10-14 10:00:31 -07:00
Ryan Fleury 010825a0bb checkpoint on attempt at wide vmap baking 2025-10-13 17:32:53 -07:00
Ryan Fleury 89be41fda9 checkpoint: first pass at wide vmap baking 2025-10-13 17:00:01 -07:00
Ryan Fleury b688c69f13 radbin: compress sections wide, deduplicate work 2025-10-13 13:07:37 -07:00
Ryan Fleury ec39cefc9e correctly decompress rdis in radbin dumping path; do not compress zero-sized sections in rdi make 2025-10-13 12:47:46 -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 6bcbf5909d correctly handle bitfield type operators in eval viz string iterator 2025-10-13 11:23:49 -07:00
Ryan Fleury b41bf5b39e update readme 2025-10-10 16:20:34 -07:00
Ryan Fleury b9be24a17d fix releasing of nil gpu buffer handles 2025-10-10 15:53:56 -07:00
Ryan Fleury c934892006 bump version to v0.9.23 2025-10-10 14:55:07 -07:00
Ryan Fleury b09e539534 fix build script for pgo 2025-10-10 14:35:13 -07:00
Ryan Fleury 8e452f10ac v0.9.22-alpha changelog 2025-10-10 13:50:47 -07:00
Ryan Fleury ac378b0ac2 switch in file menu 2025-10-10 13:10:02 -07:00
Ryan Fleury 7fcba83282 use debug info to infer language for files from including-unit language, if we cannot deduce it from extensions / settings (e.g. C++ .inl files) 2025-10-10 13:08:43 -07:00
Ryan Fleury bd9372f07c use current working directory as working directory for command line targets 2025-10-10 12:56:24 -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 da44e89a92 fix clang build 2025-10-09 13:57:41 -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 4268c1de76 bump load gen on dbgi close also 2025-10-08 15:59:56 -07:00
Ryan Fleury 96477c65dd switch to martins hash 2025-10-08 12:58:59 -07:00
Ryan Fleury 9e110bbe6d resolve register space -> primary module space in all visualizers which work on, broadly speaking, ranges of memory 2025-10-07 17:23:58 -07:00
Ryan Fleury fb825247ed resolve register-space evaluations to primary-module space evaluations in the visualizers 2025-10-07 17:20:44 -07:00
Ryan Fleury 7ff5764696 store successful queries keyed by target section as well, to avoid different table evals having different success states - fixes autocomplete flicker 2025-10-07 16:57:05 -07:00
Ryan Fleury d2feaa5f56 oops, fix dbgi search arenas leak! 2025-10-07 16:45:02 -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 ec69ebff35 fix tick-deferred command mechanism in debug engine 2025-10-07 15:50:52 -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 2cc7f45ec1 promote register values to primary module space values for memory view specifically 2025-10-07 15:06:46 -07:00
Ryan Fleury f67cf8b59d remove incorrect space promotion rule 2025-10-07 14:51:34 -07:00
Ryan Fleury ec978d8d46 do not use complex register union types for common registers; just use primitive integer types instead 2025-10-07 14:41:51 -07:00
Ryan Fleury ab841035c0 preserve operand size info for shift operations, use along with typegroup to do correct sign preservation on shifts 2025-10-07 14:20:36 -07:00
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