Commit Graph
100 Commits
Author SHA1 Message Date
Ryan Fleury d8279c1ff3 clean up per-build natvis integration into build.bat 2024-11-20 19:41:27 -08:00
Ryan Fleury f15a4f17d1 worker thread parameterization; sketch out wide-conversion scratch program; fix one common crash case in some pdb conversions 2024-11-20 15:36:13 -08:00
Ryan Fleury adbd7fbc97 fix is-zoomed behavior in nccalcsize 2024-11-20 10:44:54 -08:00
Ryan Fleury cb4232469e adjust nccalcsize window message; we just need to coax windows into doing the copy in order to avoid resize artifacts. still not perfect, can get into a weird state, and we may need to do more full size calculation in some cases 2024-11-19 16:59:20 -08:00
Ryan Fleury a40c26a0eb fix incorrect singly-linked-list/doubly-linked-list mismatch in dbgi search cache 2024-11-19 10:41:22 -08:00
Ryan Fleury 9eb482b17b fix old include sites of xxhash 2024-11-18 16:19:04 -08:00
Ryan Fleury 33c4c7c883 fix false positive file ood rule 2024-11-18 13:54:57 -08:00
Ryan Fleury cb5f9a2e06 robustify search item usage code to changed sets of dbgis 2024-11-18 11:42:43 -08:00
Ryan Fleury 846cfd259c fix incorrect search joining logic, in cases where a key has been evicted 2024-11-18 10:24:02 -08:00
Ryan Fleury 32cfe28094 exclusively lock search stripe when taking task & bumping work refcount 2024-11-18 09:58:34 -08:00
Ryan Fleury 26be351354 eliminate per-build version numbers, just use base layer to define defaults; bump to 14 2024-11-15 15:36:12 -08:00
Ryan Fleury 77b2172a85 restrict cursor line info committing by selected module 2024-11-15 15:00:15 -08:00
Ryan Fleury f1c5c97a1b fix stale detection in background fuzzy search results 2024-11-15 14:53:03 -08:00
Ryan Fleury 6be2792659 search cache eviction 2024-11-15 14:40:05 -08:00
Ryan Fleury c42e7837ac fix 64-bit bitfield type value evaluation mask/shift 2024-11-15 11:44:51 -08:00
Ryan Fleury fe657987d6 restrict module for line info visualization; it is not generally useful to do all modules, and in large projects it is too slow to do serially: 2024-11-15 11:19:46 -08:00
Ryan Fleury 48c7bb788e fix incorrect completion parameters hash storage in dbgi matching work, pt. 2 2024-11-15 11:15:25 -08:00
Ryan Fleury 080a001183 fix incorrect completion parameters hash storage in dbgi matching work 2024-11-15 11:12:58 -08:00
Ryan Fleury 81c7c7a7c4 per-target option of automatically debugging subprocesses, or not 2024-11-14 14:18:35 -08:00
Ryan Fleury 95fe497056 fix incorrect advance logic on invalid page reads in cached process memory reading path 2024-11-14 13:08:17 -08:00
Ryan Fleury 8994cb04bc adjust default font size settings by dpi relative to standard 2024-11-14 12:07:19 -08:00
Ryan Fleury ce90b63079 oops........ 2024-11-14 10:58:52 -08:00
Ryan Fleury 6cf9b82857 strip out completion counter from dbgi parsing layer 2024-11-14 10:47:45 -08:00
Ryan Fleury cefbd40e2c fix rw lock r/w mismatch 2024-11-14 10:26:51 -08:00
Ryan Fleury 420f089fda eliminate incorrect cases of async_push_work, where pushes which could occur on worker threads may try to write to a cache that is currently being held, when the push occurs (when all threads are saturated) - async_push_work must never be called from within a cache locking mechanism 2024-11-14 09:55:03 -08:00
Ryan Fleury ff45952f07 re-introduce timeout-based re-requests for dbgi & fs layers; further adjust pre-emptive conversion heuristic 2024-11-14 09:29:01 -08:00
Ryan Fleury fa4f9621b0 adjust pre-emptive conversion heuristics; fix deadlock scenario in match work 2024-11-14 09:10:07 -08:00
Ryan Fleury 4c0ebc851c async priorities, strip out incorrect ring position calculations 2024-11-13 18:23:18 -08:00
Ryan Fleury 5a79518dcb fix debug directory tree cache clearing rule 2024-11-13 16:05:22 -08:00
Ryan Fleury 713cc2c693 entering the 7th circle of DLL hell 2024-11-13 15:48:38 -08:00
Ryan Fleury dcec3c07d9 pass over pre-emptive debug info conversion heuristic, to be friendlier to ue-style root project directories, with what feels like 1000s and 1000s of sub-directories with DLLs hidden in various folders 2024-11-13 14:40:08 -08:00
Ryan Fleury b03c1766c6 just make commit granularity 64 bit; it matches the expected usage pattern in a few spots 2024-11-13 12:18:48 -08:00
Ryan Fleury 4278f7db1e extend pre-emptive conversion rule to do limited children directory checking as well 2024-11-13 11:47:17 -08:00
Ryan Fleury ff90a90744 fix lru eviction in async name match store 2024-11-12 14:36:40 -08:00
Ryan Fleury 626665911d fix incorrect order of work queueing in file stream task kickoff 2024-11-12 14:15:28 -08:00
Ryan Fleury f09f059af2 eliminate thread expression strings in scheduler process expansion 2024-11-12 13:47:04 -08:00
Ryan Fleury e95afcd5aa fix ring buffer stomping in async match 2024-11-12 13:20:42 -08:00
Ryan Fleury 9808157f45 switch match tasks to atomically update match nodes, rather than push results into a queue 2024-11-12 13:00:23 -08:00
Ryan Fleury 0ec6b8e8a8 more work on match store experiment; consume ring buffer results on begin - this experiment is not exactly the right approach, though. because the ui thread definitionally learns about these identifiers faster than the matches can (always) be completed, there is a permanent writer-going-faster-than-reader problem. the correct approach will need to account for this. 2024-11-12 13:00:23 -08:00
Ryan Fleury 3e0c150ccb more work on background name matching & plugging it into syntax highlighting path 2024-11-12 13:00:23 -08:00
Ryan Fleury 420c2ec208 fix dbgi key array copy 2024-11-11 16:15:15 -08:00
Ryan Fleury f9abd3efb9 first half of first pass at asynchronous name matching; simplify current name matching path used in syntax highlighting & deduplicate between code slice & code labels 2024-11-11 16:06:01 -08:00
Ryan Fleury 5893ab94cb cancellation mechanism for debug info fuzzy searching 2024-11-11 10:38:52 -08:00
Ryan Fleury ff2e9df705 fix incorrect match range list copying in new searcher threads 2024-11-11 10:02:06 -08:00
Ryan Fleury 5aeee47f98 oops - fix busted render handle compare 2024-11-11 09:48:11 -08:00
Ryan Fleury 31f25d0fe7 eliminate attempts at clever read-only synchronization in file stream & ctrl layer, just fall back to simple locking mechanism 2024-11-10 11:25:55 -08:00
Ryan Fleury 04c1488cd4 xxhash for ev & ui hashes 2024-11-08 15:02:52 -08:00
Ryan Fleury 5232ba298d cache cons type byte size, and more generally, do not require full type calculation in order to calculate byte sizes 2024-11-08 15:02:52 -08:00
Ryan Fleury 65ada18d1d fix render layer guid linking w/out font provider layer; eliminate generation number on render handles; sketch out tester scratch program for text drawing performance 2024-11-08 15:02:52 -08:00
Ryan Fleury 158dd742ad eliminate entry point 'mode'/type; just gather argc/argv as part of command line parse 2024-11-08 10:33:28 -08:00
Ryan Fleury 0773b6d282 switch to xxhash for font cache hashes 2024-11-08 09:04:16 -08:00
Ryan Fleury a5dd35b874 eliminate dbgi search layer usage 2024-11-07 10:14:17 -08:00
Ryan Fleury a89af7f6fd scratch that - *now* fix the arrayification 2024-11-07 10:07:36 -08:00
Ryan Fleury 5a19ab9c31 fix new search path arrayification 2024-11-07 10:06:49 -08:00
Ryan Fleury e204fe28c1 eliminate deadlocking mechanism in dbgi search cache lookup/mutation; replace with simpler but possibly worse mechanism for now 2024-11-07 09:57:25 -08:00
Ryan Fleury d036eb9fc5 eliminate old dbgi_search layer 2024-11-05 15:08:58 -08:00
Ryan Fleury 1621e504ce first half pass at new dbgi fuzzy searching functionality; distributes search amongst sub-tasks 2024-11-05 15:07:06 -08:00
Ryan Fleury 44b8c9e87c eliminate r/w lock promotion concept 2024-11-04 13:30:10 -08:00
Ryan Fleury 4a0e21d447 collapse user clock indices into base-layer-provided clock counter; fuzzy_search -> dbgi_search 2024-11-04 13:12:52 -08:00
Ryan Fleury 3cd32fa235 correctly prepare paths for windows launches in demon 2024-11-03 14:45:21 -08:00
Ryan Fleury c3a672cd02 fix incorrect async work ordering in dbgi layer 2024-11-03 12:48:34 -08:00
Ryan Fleury 9ce0bc5dbf [geo] move to async layer 2024-11-03 12:17:18 -08:00
Ryan Fleury ffb21277e9 [tex] move to async layer 2024-11-03 12:13:20 -08:00
Ryan Fleury a40edbba51 dasm, ctrl memstream, & more moving to async layer, rather than per-layer thread pools 2024-11-03 12:11:24 -08:00
Ryan Fleury c2855a9a46 eliminate txt layer parsing threads; use async layer 2024-11-03 11:12:24 -08:00
Ryan Fleury 61e7aaadeb implement 'work stealing' mechanism for falling back to synchronous task execution, if all work threads are taken 2024-11-01 16:41:43 -07:00
Ryan Fleury 5a0efe1261 move dbgi layer to async task layer 2024-11-01 15:30:17 -07:00
Ryan Fleury 6d55d21643 fix clang builds 2024-11-01 15:22:26 -07:00
Ryan Fleury 4164b30aac move breakpad converter to async layer; eliminate task system 2024-11-01 15:18:40 -07:00
Ryan Fleury aded54c97f fix pointer stability of async task output slot; finish moving converter to async system 2024-11-01 15:02:45 -07:00
Ryan Fleury 79bcbe4b39 switch rdi_from_pdb to new async layer, off of old task system 2024-11-01 14:44:56 -07:00
Ryan Fleury 86d9b792d8 shift file streaming layer to using async layer for background work, remove file stream layer thread pool 2024-10-31 11:44:54 -07:00
Ryan Fleury 37b27a9cff correctly bounds-check cursor before doing snapping operations 2024-10-30 06:20:11 -07:00
Ryan Fleury 327fec3155 fix rdi_from_pdb build 2024-10-29 16:50:37 -07:00
Ryan Fleury d0b97a3010 first pass at more comprehensive async layer, for replacing task system & providing single mechanism for async work, which is currently done ad-hoc in various layers 2024-10-29 16:27:21 -07:00
Ryan Fleury 1b5321ad8e fix incorrect tooltip 2024-10-28 21:38:09 -07: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
Ryan Fleury 41cddf96b8 preemptive adjacent pdb conversion on initial module load; tighten up c/c++ lexer for smaller string lexes 2024-10-28 13:52:36 -07:00
Ryan Fleury 100d3523d3 clamp floating root positions by window lower bound as well 2024-10-24 11:48:45 -07:00
Ryan Fleury f0b1b46840 clamp thread tooltip callstack symbol names 2024-10-24 11:45:45 -07:00
Ryan Fleury e9666e2edd adjust disasm lexer to account for compiler-autogenerated symbol names 2024-10-24 11:41:59 -07:00
Ryan Fleury 8f932bdbf7 oops 2024-10-24 11:29:13 -07:00
Ryan Fleury c3c9539f9b prioritize string/symbol content in single-line pointer visualization; only use address-first when descending. also fix signed/unsigned visualization of character numeric values 2024-10-24 11:25:27 -07:00
Ryan Fleury 13341a458a fix incorrect kill-single-process ui path 2024-10-23 13:23:22 -07:00
Ryan Fleury 62659c5161 introduce dedicated kill-all path; fix exit conditions for single-stepping stuck threads to be robust toward unexpected kills; fix exit conditions for kill-single-process path, to be more robust to halts; correctly report stop cause 2024-10-23 13:19:37 -07:00
Ryan Fleury 1ecabff7b6 prefer usage of pdbs in dbgi layer, if rdi path is not baked in, but pdb path *is* - otherwise the dbgi layer can simply choose a stale rdi file with no way to generate a new one. 2024-10-23 11:49:47 -07:00
Ryan Fleury 45f5a2d18f accept / command line arguments on windows 2024-10-23 11:19:07 -07:00
Ryan Fleury bcd16a4f29 only plug in jumping immediates to jump_dest_vaddr paths in stepping; ctrl flow info analysis path stops when it has to read memory or registers 2024-10-23 11:07:51 -07:00
Ryan Fleury 6d7858d445 parameterize tester with test data root folder; wrap tester run in top-levels cript 2024-10-22 17:51:21 -07:00
Ryan Fleury c67f1a8b4a fix empty file edge case in hash store / text cache 2024-10-22 16:19:11 -07:00
Ryan Fleury edee84dd03 fix maximum munch rule application in text cache lexers 2024-10-21 10:37:04 -07:00
Ryan Fleury 4a211de2b3 do not bake path normalization into eval string <-> file path; this incorrectly assumes the normalization base directory, which is not correct when serializing/deserializing/etc. instead, just normalize on find-code-location. 2024-10-21 09:56:32 -07:00
Ryan Fleury d0915ec9a7 eval expressions: unary +, correctly lex exponentiated numerics 2024-10-21 09:23:31 -07:00
Ryan Fleury 52245a8e5a maintain explicit casts in cstring -> string paths 2024-10-21 08:51:19 -07:00
Ryan Fleury 1344270b5a adjust versions 2024-10-18 16:40:25 -07:00
Ryan Fleury c03844fb1a fix build, make icon unique to raddbg 2024-10-18 16:32:49 -07:00
Ryan Fleury 669574df5a fix incorrect ordering of inline sites & concrete frames in call stack view 2024-10-18 16:07:25 -07:00
Ryan Fleury 98dfedfff5 limit the amount of line info visualization voff gathering; otherwise we can just spend tons of time gathering inline site voffs forever... 2024-10-18 15:16:34 -07:00
Ryan Fleury 1f633a029c skip redundant expansion tasks in eval viz block tree build 2024-10-18 13:58:24 -07:00
Ryan Fleury b3d6b2913e fix enum value committing 2024-10-18 13:47:51 -07:00