Commit Graph
100 Commits
Author SHA1 Message Date
Ryan Fleury 6c309038ce dbg_engine: ctrl thread - be robust to strange duplicate module unload events 2026-06-25 09:51:13 -06:00
Ryan Fleury 9d651f4bd5 EpicGamesExt -> EpicGames 2026-06-25 09:08:52 -06:00
Ryan Fleury 38c1e2a414 eval2: ptr arithmetic & comparisons 2026-06-25 09:07:34 -06:00
Ryan Fleury c817d1f136 eval2: type keys checkpoint 2026-06-24 20:39:53 -07:00
Ryan Fleury 296c851272 eval2 checkpoint: casts, function calls, expression-embedded identifier definitions, ternaries, compile-time ternaries 2026-06-24 16:29:57 -07:00
Ryan Fleury 6b841d9959 rdi_make: allow duplicates in bake name map insertions - they become extremely costly to check for, and we don't produce them anyways... 2026-06-24 07:20:06 -06:00
Ryan Fleury 1901e67f39 use synchronous reads for call stack computation, but extend artifact cache with the ability to say that a non-retryable failure occurred, so that we can fall back to stale call stacks 2026-06-23 20:00:57 -06:00
Ryan Fleury 3d6851c57a rdi_from_Dwarf: count dependency counts correctly when using cached type content hashes 2026-06-23 16:07:53 -07:00
Ryan Fleury 98b7b5859c rdi_from_dwarf: stub out pointers for now, cache as we go, merge type dependency count calculation with hash computation 2026-06-23 12:32:11 -07:00
Ryan Fleury 28009ec01e rdi_from_dwarf type dedup hashing experiments checkpoint 2026-06-23 10:05:28 -07:00
Ryan Fleury a425936f56 run_tests test data download -> fail if curl fails, follow http redirects 2026-06-22 14:42:50 -07:00
Ryan Fleury fef78609d8 turn off d2r tests for now while new deduper is in progress; better tag skipping in dedup hashing 2026-06-22 14:25:25 -07:00
Ryan Fleury 76fa2be5a9 correct arch flags to clang 2026-06-22 13:45:53 -07:00
Ryan Fleury c8c8e02ab0 Revert "use CL driver when compiling with clang on windows to simplify compile and link lines"
This reverts commit ba32d7fdec.

This causes tons of compatibility issues, some of which were preventing
Clang builds on specific Clang versions due to command line
incompatibility between lld-link and link.
2026-06-22 13:44:18 -07:00
Ryan Fleury e2430fa23e remove redundant incs of xxhash - undef cpuid macro before xxhash is
included, so that we don't have conflicting definitions due to memfun
2026-06-22 13:43:19 -07:00
Ryan Fleury 28d037a924 checkpoint on faster rdi_from_dwarf type/namespace deduping 2026-06-22 13:31:08 -07:00
Ryan Fleury 73e9f3c9da rdi_from_dwarf: determinism / regression tests 2026-06-21 20:56:46 -07:00
Ryan Fleury dac63d6bef fix linux build 2026-06-21 20:47:09 -07:00
Ryan Fleury 286589f4de rdi_from_pdb: exemplar tests 2026-06-21 20:37:52 -07:00
Ryan Fleury c890b806d5 pull out test input/exemplar path formation helpers to base; fix torture crash 2026-06-21 20:13:44 -07:00
Ryan Fleury bc324a9041 remove exemplars from repo; switch to storing on test data server 2026-06-21 19:54:37 -07:00
Ryan Fleury fa4c003f79 run_tests.bat -> download test data if stale 2026-06-21 16:20:37 -07:00
Ryan Fleury ed6afcb180 checkpoint on rdi_from_dwarf pass, start addressing O(N lg N) hashing problem for type content, use sibling tags, etc.; remove test inputs from data/, just rely on local folder (filled via data server) 2026-06-21 15:53:38 -07:00
Ryan Fleury d3d35e40d7 rdi_from_dwarf: use sibling tags to advance in hash path too - set up for deduplicating hash work 2026-06-19 20:53:01 -07:00
Ryan Fleury 0d62c49c52 only rewrite stdout/stderr/etc. if passed cli specifically 2026-06-19 20:12:21 -07:00
Ryan Fleury fe2aa4d14c com shim for launching raddbg in cli mode, for proper console subsystem style usage of packaged bin utilities; checkpoint on eval2 2026-06-19 20:12:20 -07:00
Ryan Fleury 3fd7b40f4d remove 'global stream' specialities in codeview -> rdi conversion; just have the caller pass all units, and in the case of pdb conversion, we simply make a global unit at that layer. 2026-06-19 20:12:20 -07:00
Ryan Fleury 15601d48d4 rdi_from_dwarf: use sibling tag attributes to gather root-level tag offsets when present - 15x speedup in the gather on webkit DWARFs... 2026-06-19 20:11:50 -07:00
Ryan Fleury 9f82a6fe91 fix flipped interpretation of scope address ranges in dwarf - address class implies opl, not size 2026-06-19 12:41:17 -07:00
Ryan Fleury 3b22b1f13e fix incorrect work happening w/ subsets turned off for psym generation 2026-06-19 12:37:43 -07:00
Ryan Fleury 66bca76edd delete non-codeview-backed pdb conversion path, switch over to codeview conversion totally 2026-06-18 08:59:51 -07:00
Ryan Fleury a441a5eef3 plug in codeview-conversion-backed pdb converison 2026-06-18 08:54:41 -07:00
Ryan Fleury d56cd83cac sketch out revised pdb conversion path which just uses the codeview conversion pass 2026-06-18 08:24:02 -07:00
Ryan Fleury c411895db5 sketch out & get building rdi_from_codeview, extract ~90% of pdb conversion into only working given codeview info *or* something the linker could produce 2026-06-18 08:04:32 -07:00
Ryan Fleury 3aad389174 notes 2026-06-17 19:30:08 -07:00
Ryan Fleury cc75260946 checkpoint on eval2; type graph operations, parsing, etc. 2026-06-17 17:38:09 -07:00
Ryan Fleury 11b3f25842 checkpoint on eval2 2026-06-16 17:56:48 -07:00
Ryan Fleury 00da627293 checkpoint on eval2 compiler; setting to disable update checking; cache version check to once per day so that we do not send a lot of extra GH requests every time the debugger starts 2026-06-16 14:30:13 -07:00
Ryan Fleury bcdc6acd0e checkpoint on eval2 parse 2026-06-16 12:29:03 -06:00
Ryan Fleury eb87cb053e fix bad sub register block address calculation!!! 2026-06-14 20:20:52 -07:00
Ryan Fleury 7f985b35f3 only do session-start logic once per tick! 2026-06-13 20:22:37 -07:00
Ryan Fleury d9efc61b66 just dump file name in raddbg state dump; commit to exemplars; keep exemplars more context-free 2026-06-13 11:21:42 -07:00
Ryan Fleury 6a2aa95ea3 okay, *now* bump to 28 2026-06-13 06:38:03 -07:00
Ryan Fleury 6ca7f162aa shift temporarily to 27 2026-06-13 06:17:55 -07:00
Ryan Fleury 58c17c2bc3 fix bad rdi opcode tables! 2026-06-12 15:30:30 -07:00
Ryan Fleury 083a843bf7 bump to 28 2026-06-12 14:10:20 -07:00
Ryan Fleury d83f1fad1a turn off eval2 for now 2026-06-12 14:10:20 -07:00
Ryan Fleury 2b20760386 checkpoint on revised eval system; first pass on interpretation; eliminating all callbacks / eval involvement in contexts/spaces/identifier-resolution/etc. 2026-06-12 13:50:28 -07:00
Ryan Fleury 2c4882595c eval system notes 2026-06-11 11:10:28 -07:00
Ryan Fleury d45401e8cd pass over default light 2026-06-11 10:28:39 -07:00
Ryan Fleury f1dfe5f6c0 changelog notes 2026-06-11 09:40:39 -07:00
Ryan Fleury 90b650354a eliminate redundant/unused info from command tables in dbg engine / raddbg 2026-06-11 09:08:34 -07:00
Ryan Fleury 82fd06c8e4 specialize text right-click menus by disasm vs. source 2026-06-11 08:51:47 -07:00
Ryan Fleury a980be7664 notes 2026-06-10 12:51:52 -07:00
Ryan Fleury 645cf46e55 explicit process address space evaluation 2026-06-10 11:57:53 -07:00
Ryan Fleury f7ba4b2ebe move from fixed flags to list of tags (matching command list evaluation names) for context menu command filtering; pull out code for filling command regs from contextual expressions; add mechanism for contextualizing a whole query, so that we can spawn command listers within the context of some other evaluation, which we'd like to fill registers with (e.g. right-clicking a module -> spawn a module command list, contextualized by the module evaluation itself 2026-06-10 09:54:57 -07:00
Ryan Fleury 1577ea5693 fix rdi folder writability test to account for possibly-uncreated directories, so that we don't unnecessarily write into the user-local rdi cache 2026-06-10 08:39:40 -07:00
Ryan Fleury 40d9e5839f fix torture; adjust raddbg test exemplar dumping to avoid dumping info for anything other than the main module, so that we don't get non-deterministic dumps (for e.g. system PDBs) 2026-06-10 07:57:18 -07:00
Ryan Fleury 9af4c3d614 W over A win32 window functions; wakeup on WM_CLOSE (manual merge of
cbf3fd5587)
2026-06-10 04:43:01 -07:00
Ryan Fleury 19cb0331b0 fix implicit expr parameterization in add-breakpoint margin click path 2026-06-10 04:29:32 -07:00
Ryan Fleury 5ddad36380 zero undefined registers in eh unwind 2026-06-09 16:18:47 -07:00
Ryan Fleury ffb79a67ef be robust to missing symbol server support 2026-06-09 16:07:16 -07:00
Ryan Fleury 8a098c5d45 adjust rules for text view loading; handle non-evaluations / empty evaluations correctly 2026-06-09 16:02:33 -07:00
Ryan Fleury f57137288b check if rdi path is writable before deciding to convert to it; if it isn't writable, then redirect to a rdi cache directory 2026-06-09 16:02:33 -07:00
Ryan Fleury 2faa9211eb cleanup 2026-06-09 16:02:32 -07:00
Ryan Fleury c05846aef1 fix incorrect impl of RDI_EvalOp_Swap 2026-06-09 16:02:30 -07:00
Ryan Fleury e047e84433 do not assume writable module 2026-06-09 15:01:01 -07:00
Ryan Fleury fde13f52d3 fix nil text visualizations; fix auto-load-recent-project 2026-06-09 14:56:34 -07:00
Ryan Fleury 5ae286d67e setting for auto-downloading missing debug info (off by default); command for manually loading module debug info as-needed 2026-06-09 14:01:09 -07:00
Ryan Fleury 0105b06fef fix conflicting lifetimes in http read - batch of retry-response-body-pieces was conflicting with asynchronous reading state! 2026-06-09 13:14:29 -07:00
Ryan Fleury 27e1e36f5c fix incorrect marking of non-stale results by artifact cache lookup; fix view addr parameterizations when a register value is used 2026-06-09 11:24:54 -07:00
Ryan Fleury 0f02c32c89 pull failed-unwind-step register-block-restore out of each impl, just do it on the caller side; pull out module-less read-the-stack-pointer unwind fallback from pe/x64 unwinder, use in module-less unwinds in all cases; call into from pe/x64 unwinder in fallback case 2026-06-09 10:58:16 -07:00
Ryan Fleury ec4fd23e15 fix incorrect commits in new pe/x64 unwinder; fix bad unwind termination conditions 2026-06-09 10:38:08 -07:00
Ryan Fleury 9955c8c1a7 temporarily turn off symbol server stuff - switch off spoof for step-over 2026-06-09 09:27:23 -07:00
Ryan Fleury 132751777f eliminate unnecessary info in debug engine entity abstraction / demon events; adjust symbol server / debug info loading such that the debug info loader is the one who decides to kick off downloads based on presence in cache path; use cache path as key, unpack info for download requests 2026-06-08 21:06:44 -07:00
Ryan Fleury b22f9f2d8b checkpoint on symbol server 2026-06-08 17:32:07 -07:00
Ryan Fleury 536ca53d18 rdi_from_pdb: sketch out paths for LF_ALIAS 2026-06-08 11:26:17 -07:00
Ryan Fleury 2d6260fc68 remove dummy test file 2026-06-08 11:13:07 -07:00
Ryan Fleury 5c664261a3 symbol server abstraction layer; http layer; fix to 'prefer_disasm' rule when no disassembly tabs are open; small fixes / cleanup 2026-06-08 11:10:14 -07:00
Ryan Fleury 1ef94cb759 fix find-code-location snap rule when src/disasm occupy same panel & they are found by different rules; conflicting panels must be checked across *all* cases 2026-06-06 15:37:24 -07:00
Ryan Fleury dc613f3a08 correctly handle voff evaluations in generalized watch window completion path (offline evaluation in everything palette case) 2026-06-03 14:43:50 -07:00
Ryan Fleury 09f78fdae4 small parameterization to query watches 2026-06-03 14:28:06 -07:00
Ryan Fleury 015ae9c62c set up for memory right clicks 2026-06-03 12:49:39 -07:00
Ryan Fleury d7b59e4a39 break when value changes 2026-06-03 12:37:28 -07:00
Ryan Fleury 3a04a96e03 eval right-click; start with go-to-memory command 2026-06-03 12:16:42 -07:00
Ryan Fleury 6b88ad1ea3 fix incorrect temp pop 2026-06-03 10:34:01 -07:00
Ryan Fleury 0df1b34580 fix spacing 2026-06-03 10:31:45 -07:00
Ryan Fleury 737ceb1313 tweaks / improvements to watch windows & lister ui - display controls, appearance, remove redundant visual info 2026-06-03 10:28:47 -07:00
Ryan Fleury e7153e8910 auto load project only when project is not specified; fix alt menu weirdness on alt+tab 2026-06-03 09:10:53 -07:00
Ryan Fleury 4d1d362ac1 adjust find-code-location path to absolutify relativized paths based on current thread/module; also respect module-relative / debug-info-relative paths in src -> voff & voff -> src mapping 2026-06-03 09:01:51 -07:00
Ryan Fleury fd1ee1c265 radbin: absolutify relative external-file-paths (debug link, pdb-in-exe), to avoid clashing with working-directory files of the same name 2026-06-02 14:41:43 -07:00
Ryan Fleury e958814b07 use fully-qualified names in eval viz address resolved symbol strings, used in call stack / etc. 2026-06-02 12:16:16 -07:00
Ryan Fleury 5a819f8094 setting for auto-loading of recent projects 2026-06-02 12:11:17 -07:00
Ryan Fleury 1673fa5606 enable lfs on github actions 2026-06-02 12:11:16 -07:00
Ryan Fleury 6a2e2eb798 d2r2 -> d2r 2026-06-02 12:11:16 -07:00
Ryan Fleury 6ed6d3f16d rdi_from_dwarf [1] -> obsolete; promote 2 -> 1 2026-06-02 12:11:15 -07:00
Ryan Fleury b75b9b45cc fix radbin 2026-06-02 12:11:15 -07:00
Ryan Fleury a2700de35d dwarf parse/expr/unwind/dump 2 -> 1; move old stuff to obsolete 2026-06-02 12:11:14 -07:00
Ryan Fleury ef5fc82e9c dead code elimination 2026-06-02 12:11:14 -07:00
Ryan Fleury d73ce364b9 major clean-up pass over unwinding/module-info abstraction, + usage in the debug engine. simplified / cleaned up DWARF helpers for unwind info & expressions. decoupling unwinding / DWARF evaluation from memory read callbacks. light module info now prepared by demon layer - debug engine no longer duplicates per-backend parsing. unwind abstraction layer now does thin abstraction over unwinding backends, debug engine only calls abstraction. clean up demon to have fewer ad-hoc 'queries' on handles, and prefer sending info over debug events when possible / when it fits the usage pattern. move DWARF enum specifications to metacode, generate enums/xlists/tables/etc. decouple raddbg/radbin completely from old parsing helpers. replace portion of DWARF dumping; pull out some new parsing helpers from converter / dumper. 2026-06-02 12:11:13 -07:00