Commit Graph
100 Commits
Author SHA1 Message Date
Ryan Fleury e55fa733fd mostly restore existing read-only functionality, keep existing patching infrastructure but do not use 2026-07-27 14:47:36 -07:00
Ryan Fleury 9ed2e020e8 checkpoint 2026-07-27 14:47:36 -07:00
Ryan Fleury f247d3c52d fix chunk-up/down 2026-07-27 14:47:35 -07:00
Ryan Fleury 150a2247bb fix page-up 2026-07-27 14:47:34 -07:00
Ryan Fleury 604fe35d91 fix navigations when zero-delta-on-select is enabled in multi-line controls; thread line break parsing 2026-07-27 14:47:34 -07:00
Ryan Fleury 36da346590 binary search for off -> line num 2026-07-27 14:47:33 -07:00
Ryan Fleury c8dae72968 cleanup around single vs. multiline text mutation controls 2026-07-27 14:47:32 -07:00
Ryan Fleury 315e0672d3 checkpoint on text patches 2026-07-27 14:47:31 -07:00
Ryan Fleury bb85f6f692 text patches: checkpoint 2026-07-27 14:47:31 -07:00
Ryan Fleury 62328cea3f checkpoint on text patches 2026-07-27 14:47:07 -07:00
Ryan Fleury 20cd955cc9 eval2: first pass at type_key -> string path 2026-07-27 14:47:06 -07:00
Ryan Fleury 0963f4a6de const/volatile/unsigned/signed type operators 2026-07-27 14:47:06 -07:00
Ryan Fleury 78d12eb914 custom module loads -> support manually specifying pdb path 2026-07-23 20:28:52 -07:00
Ryan Fleury b0841ff2da first pass at custom load-module exception (long term for JIT) 2026-07-23 20:22:54 -07:00
Ryan Fleury 16c447bb79 eval2: leaf bytecode in ir tree 2026-06-28 07:36:24 -07:00
Ryan Fleury 96cfb441fd correctly use command titles in native file explorer 2026-06-27 12:07:24 -07:00
Ryan Fleury 0e2b4ac5e7 ui discoverability adjustments 2026-06-27 06:21:31 -07:00
Ryan Fleury 969851b6f0 flip NO_ASYNC; turn on as needed, if a layer requiring it is included 2026-06-27 04:54:30 -07:00
Ryan Fleury 410a8e3afa eval2: function pointer type parsing/compiling 2026-06-27 04:43:58 -07:00
Ryan Fleury cae9754099 eval2: fix parsing task popping rules, still give chance to rhs when popping tasks in all cases 2026-06-27 04:25:05 -07:00
Ryan Fleury b704e797e2 notes 2026-06-27 03:50:17 -07:00
Ryan Fleury 773e6554dc cycle detection in fully qualified string generation 2026-06-26 20:35:50 -07:00
Ryan Fleury fdbcf7ccdc eval2: first pass at c recursive type expression parsing 2026-06-26 16:19:19 -07:00
Ryan Fleury f1f654ecfd eval2: simplify expression parsing info, allow child reversal (for parsing non-canonical expression orders into canonical shapes, e.g. Rust-style casts like 123 as float32 -> cast(float32, 123); ptr/array type operators, etc./ 2026-06-26 13:20:38 -07:00
Ryan Fleury 60b266a1cc support size_of and type_of in clike expressions 2026-06-26 11:28:01 -06:00
Ryan Fleury 9491fdf5c2 eval2: split out expression kinds from parse styles of expressions - lets us separate semantic expression tree from frontend, so that we can easily switch frontend 2026-06-26 11:22:43 -06:00
Ryan Fleury bcbc5e4a2a eval2: macro argument expression tree parsing 2026-06-26 10:07:02 -06:00
Ryan Fleury d7393b2f65 eval2: split string -> expr compilation path into frontend / middle end - string -> expr, where expr is a loose structural syntax tree (where we can get macros and stuff without doing typechecking etc.), and expr -> irtree, where irtree is the usual typed / typechecked / ir structured representation - preserve minimal identifier resolution path for parser, but move most resolution things to the middle-end 2026-06-25 15:48:14 -07:00
Ryan Fleury c2b74260ef eval2: opkind -> exprkind, prepare for exprs being looser 2026-06-25 13:58:03 -07:00
Ryan Fleury 6b52d68c62 eval2 checkpoint: type operations, constructed types, checkpoint before splitting back to frontend / compiler split - we need to do things with the parse tree that we can't with an ir tree 2026-06-25 13:50:16 -07:00
Ryan Fleury c1b3461709 eval2: switch to extrusive lists for expression lists - this lets us reuse expression trees. also solve strange isolated unload module events in win32 demon as well 2026-06-25 11:36:18 -06:00
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