Commit Graph
100 Commits
Author SHA1 Message Date
Ryan Fleury 58caf0d3d5 upgrade eval space reads with staleness/bad/change info, to expand process memory cache reading abilities to all evaluation spaces; unmapped address visualization (both memory view & single line eval) 2026-05-13 14:48:00 -07:00
Ryan Fleury e6d83f7450 visualize unmapped addresses in memory view more correctly (not as 0s) - annotate explicitly with unmapped address annotation 2026-05-13 14:09:21 -07:00
Ryan Fleury 16b1e728ba breakpoints -> project-tagged user config 2026-05-13 13:38:04 -07:00
Ryan Fleury cfbda8bc4d clear last-focused-external-window on new session 2026-05-13 11:57:03 -07:00
Ryan Fleury 9eecffad78 fix mouse-hover-in-source-evaluation (off -> range) rules, to correctly enclose more expressions 2026-05-13 11:55:52 -07:00
Ryan Fleury a1778421c9 eval extended opcode for setting base offset - used for correct cross-module evaluations, fixes go-to-definition when thread is not in module of resolved identifier's symbol 2026-05-13 11:23:48 -07:00
Ryan Fleury 0563cd3b80 fix incorrect lifetime of calculated implicit user/project arguments 2026-05-13 10:43:43 -07:00
Ryan Fleury 1e0bcf0504 treat relative implicit project args correctly 2026-05-13 10:30:54 -07:00
Ryan Fleury 2231228ffb store loaded debug infos as user config, but project-tagged; eliminate 'recent files' from project file (they are almost entirely duplicative of debug info source files); adjust 'last_user' remembering semantics - do not automatically change last_user when setting user explicitly from command line 2026-05-13 10:18:06 -07:00
Ryan Fleury 1774a76cdb scope ending annotations 2026-05-13 08:58:46 -07:00
Ryan Fleury 264abe57aa allow missing debug info in case of 'step out' - we still want to support traditional behavior especially in e.g. disassembly and so on 2026-05-13 08:40:14 -07:00
Ryan Fleury b198f0b421 just move metagen onto regular base layer - in theory this causes cycles (metagen w/ bug -> generates busted base layer code -> can't build metagen!) but we do not currently generate anything in base, and we also can just revert in that case. 2026-05-12 20:02:35 -07:00
Ryan Fleury a0ace3561f eliminate d2r usage (1) from radbin 2026-05-12 19:58:15 -07:00
Ryan Fleury fa5af4fa9f notes 2026-05-12 19:57:01 -07:00
Ryan Fleury b4f15d3111 adjust project/user saving/loading rules to be less idiosyncratic with other applications. user settings persist, to keep the user from needing to specify things like windows/colors/bindings every time, but projects must always be manually specified, e.g. like usual files in other programs. you can do this either via the ui, or via command line still. also, new user/project no longer require a path - they just clear the existing path, then to set the path you just explicitly save. this makes things much more natural & familiar. 2026-05-12 19:34:42 -07:00
Ryan Fleury dcc78314ab fix dbg_info loader treatment of nil keys, avoid bad usage of blank '.rdi' files; os_lnx_* -> lnx_* 2026-05-12 14:42:29 -07:00
Ryan Fleury 50a68b9d8c adjust internal definition of sync barrier type to match windows 2026-05-12 13:52:25 -07:00
Ryan Fleury d4623a7ddf slow & highly contentious implementation of barriers using more basic sync primitives; fall back if sync barriers not present in win32 version 2026-05-12 13:48:57 -07:00
Ryan Fleury 641a7c8b30 on new debug session: close all loaded debug infos, assume none need to stick around 2026-05-12 09:38:06 -07:00
Ryan Fleury 15a2d5658f fix auto-thread-selection rules 2026-05-11 20:04:36 -07:00
Ryan Fleury d45090a8cc adjust kerning to be rounded, rather than floor'd; adjust step-out desc 2026-05-11 19:53:54 -07:00
Ryan Fleury 9eaff99bbb fix build 2026-05-11 19:44:26 -07:00
Ryan Fleury cbbacf0b5f sketch out extra disasm instruction outputs for determining read/write locations from instructions (autos) 2026-05-11 14:53:05 -07:00
Ryan Fleury d1536953b0 p2r: eliminate spurious duplicate address vmap entries; upgrade step-out with block stepping functionality 2026-05-11 14:21:43 -07:00
Ryan Fleury cc099f55aa do not call destroy on caches without a destroy hook :( 2026-05-11 13:30:59 -07:00
Ryan Fleury de35a86505 fix artifact cache replaced-value deletion - this CAN NOT run if the new value == the old value 2026-05-11 13:29:29 -07:00
Ryan Fleury 52da228efe artifact_cache: fix leak of old-generation artifacts, when those artifacts are replaced by newer generation computations. artifacts can opaquely hold things like arena pointers, and so when we replace them in the cache, we need to respect the lookup api's provision of create/destroy hooks for the cache, such that the artifacts can be released correctly (using the destroy hook) before being replaced. this is separate from regular eviction. 2026-05-11 11:49:15 -07:00
Ryan Fleury 6a95da35e0 opengl: more coverage/convergence w/ d3d11 2026-05-09 20:25:14 -07:00
Ryan Fleury 0cfc113272 opengl: apply transforms to rendering 2026-05-09 13:30:56 -07:00
Ryan Fleury a16716eff7 d2r2: fix missing function types on functions returning void 2026-05-09 12:38:08 -07:00
Ryan Fleury d59d6a21f0 d2r2: do not duplicate line records, were being generated by columnar changes, but these are not currently supported by the debugger 2026-05-09 12:18:05 -07:00
Ryan Fleury 2f6d0f9aaa os -> wm; *_w32_ -> w32_*_, *_lnx_ -> lnx_*_ 2026-05-08 21:17:21 -07:00
Ryan Fleury 9a7782de47 re-slice linux/win32 backends, top-level folder is backend (demon/win32 -> win32/demon, etc.); os_gfx -> window_manager; fix linux / opengl builds for new apis/types 2026-05-08 15:21:22 -07:00
Ryan Fleury aea4a4ff9d eliminate os_core, move into base; eliminate regs, move into arch abstraction layer, define x64 regs in x64 layer; move win32 backend for os core (now base) functionality to top-level win32 layer 2026-05-08 15:21:21 -07:00
Ryan Fleury 774e8e1305 notes 2026-05-05 12:57:04 -07:00
Ryan Fleury 738163dcbd demon: gather success status of setting traps, but do not fail on failure 2026-05-05 12:35:20 -07:00
Ryan Fleury 356237418f demon: always gather 'active' traps - do not require success 2026-05-05 12:32:00 -07:00
Ryan Fleury b210afa5ee demon/linux: do not assert on trap write/read success. breakpoints can evaluate to unmapped addresses 2026-05-05 12:30:12 -07:00
Ryan Fleury 44c6b6e4d5 do not duplicate function records for decls 2026-05-05 12:22:20 -07:00
Ryan Fleury d9f7385f81 d2r2: fix file sequence map build to use correct source files 2026-05-05 12:13:07 -07:00
Ryan Fleury 1c8a10e0f7 rdi_make: fix path node lookup to respect root-level ..s 2026-05-05 11:47:26 -07:00
Ryan Fleury 26646299a1 rdi_make: preserve root-level ..s in interned path tree 2026-05-05 11:20:38 -07:00
Ryan Fleury 5f8e0a5aa9 rd: fix possible-overrides-from-file-path path to correctly use path styles 2026-05-05 11:00:08 -07:00
Ryan Fleury 6e376e5615 rd: fix file path mapping to correctly use destination path's style in constructing mapped paths 2026-05-05 10:57:46 -07:00
Ryan Fleury 1301165aeb d2r2: disable llvm-dwarfdump-style line table logging 2026-05-05 10:50:47 -07:00
Ryan Fleury 384cf11eed d2r2: fix line table register reset conditions in line table conversion 2026-05-05 10:49:33 -07:00
Ryan Fleury fb04768002 d2r2: hook up scope containers to contained types / namespaces; fix address table parsing 2026-05-05 09:42:55 -07:00
Ryan Fleury aee299efe7 d2r2: deduper fixes/simplification, first half of structured namespace support 2026-05-04 15:41:23 -07:00
Ryan Fleury 8f65f466f5 d2r2: expand tag deduplication to both namespaces and types; gather/deduplicate/convert namespaces 2026-05-04 13:14:13 -07:00
Ryan Fleury 7157e813a0 d2r2: fix line table build - correct program data size, correct special opcode application 2026-05-03 17:55:53 -07:00
Ryan Fleury f2d80da2de d2r2: remove markup 2026-05-03 11:25:56 -07:00
Ryan Fleury e48c23db20 d2r2: don't descend children for childless subprograms! 2026-05-03 11:24:38 -07:00
Ryan Fleury 4f3d9c96b8 d2r2: when deduplicating types, ensure deterministic (hash -> .debug_info off) mapping, by minimizing the .debug_info off found for a particular type hash - in theory, this step should not be necessary, but there is a mistake / broken part of this theory, which was leading to non-deterministic type graphs in a very small # of cases, due to the same hash mapping to different .debug_info offsets across runs. in theory, the hash itself should take care of this, but there is likely something important missing. in either case, minimizing the .debug_info offset is very cheap, and guarantees we parse from a deterministic place no matter what the run looks like. 2026-05-02 20:25:33 -07:00
Ryan Fleury f9eb25dbcb d2r2: do unique type info gathering on a sub-unit granularity, so we can subdivide a unit across all lanes; sort unique type tag slots for determinism 2026-05-01 14:12:35 -07:00
Ryan Fleury 0b5e827f6c rd: prioritize fastpath for non-unwound register reads; d2r2: prepass to find all top-level tag trees, subdivide unit work on a root-level tag tree basis 2026-05-01 12:34:35 -07:00
Ryan Fleury 0b26b1c83e radbin: only dump eh frame data if found 2026-05-01 08:49:16 -07:00
Ryan Fleury 13fb24f253 fix incorrect function parameter type parsing (was causing quadratic parses of .debug_info, oops) 2026-05-01 08:42:48 -07:00
Ryan Fleury 0054935252 d2r2: fix scope voff miscount; pattern match trivial value-register locations -> simple kind; fix pre-dwarf5 file table parsing 2026-04-30 18:09:30 -07:00
Ryan Fleury 0e2b37ba32 dwarf: do not crash on unsupported codes; text: do not crash on arena releasing w/ zero hash (#766, #771?, #761) 2026-04-30 17:51:11 -07:00
Ryan Fleury c83c1f3cfd udt conversion 2026-04-29 16:27:58 -07:00
Ryan Fleury 230b004742 d2r2: function type info; fix reg+off location info for signed offsets, function type deduplicating / construction / referencing, etc. 2026-04-29 15:50:31 -07:00
Ryan Fleury 9a923e9bf9 d2r2: .debug_loclists parsing, DWARF expression -> RDI location info; first pass at baking frame base into var locations to match simpler PDB behavior; fixes to high-pc address evaluation (based on form kind) 2026-04-29 12:40:43 -07:00
Ryan Fleury 242f4e9cbd d2r2: dwarf 5 .debug_rnglists, .debug_addr parsing / usage 2026-04-28 09:37:31 -07:00
Ryan Fleury f5ec462438 d2r2: .debug_aranges parsing / unit conversion; .debug_ranges parsing 2026-04-28 08:57:59 -07:00
Ryan Fleury f1a9fc5e3a turn off new dwarf converter outputs temporarily 2026-04-27 18:14:29 -07:00
Ryan Fleury c6b733de20 d2r2: finished first pass of type conversion; sketched out structure for symbol/unit conversion; plugged everything in 2026-04-27 16:07:07 -07:00
Ryan Fleury ffa41c0a98 d2r2: adjustments to type deduper; sketch out topologically-sorted type building path 2026-04-27 12:02:27 -07:00
Ryan Fleury be1095eccf d2r2: type dedup content hashing cycle detection / handling; type dependency chain build 2026-04-25 09:40:49 -07:00
Ryan Fleury 9768321d08 fix build 2026-04-24 20:45:18 -07:00
Ryan Fleury ad0d023c93 d2r2 type deduplication: further work on type content hashing; correct .debug_str_offsets handling; sketch out type dependency chain build 2026-04-24 20:34:20 -07:00
Ryan Fleury 35e00de05c d2r2: cross-unit, cross-lane type deduplication 2026-04-24 20:34:20 -07:00
Ryan Fleury ccb1cd8f4d d2r2: built-in types, move rdi variadic type -> built-in 2026-04-23 18:54:01 -07:00
Ryan Fleury 44a1c9ca1b d2r2: line sequence production / equipping to src files 2026-04-23 18:12:14 -07:00
Ryan Fleury 467e09178e file -> seq list line seq chunk building 2026-04-23 16:10:26 -07:00
Ryan Fleury 611e46cda5 d2r2: fix missing sync; per-unit seq table 2026-04-23 15:40:31 -07:00
Ryan Fleury 2637f6abde further line info conversion progress; fix missing sync 2026-04-23 15:30:55 -07:00
Ryan Fleury 602cf68980 fix builds 2026-04-23 14:45:13 -07:00
Ryan Fleury 2623141fd4 checkpoint on multi-lane / simplified dwarf parsing/conversion; fix incorrect assumption of relative in radbin 2026-04-23 14:25:50 -07:00
Ryan Fleury 6f624c10ad fix dwarf conversion to account for new rdi changes 2026-04-23 12:30:45 -07:00
Ryan Fleury 684eeda139 setting to turn off transient tab spawns 2026-04-22 20:15:36 -07:00
Ryan Fleury 3c214cfbb5 views autocompletion; view doc coverage 2026-04-22 19:57:08 -07:00
Ryan Fleury a027a0ea16 use fully qualified symbol names when doing dbg info searches & when producing strings in debug info table evals 2026-04-22 16:24:23 -07:00
Ryan Fleury 0d3539d707 highlighting for views; view doc / autocompletion coverage 2026-04-22 16:09:32 -07:00
Ryan Fleury 2eb0b8b233 ctrl -> d 2026-04-22 14:53:37 -07:00
Ryan Fleury 0e3c821e28 collapse ctrl/d bps 2026-04-22 14:31:08 -07:00
Ryan Fleury 0d8a6a4d3a ctrl -> d type pass 2026-04-22 13:37:00 -07:00
Ryan Fleury a90fbc844b merge ctrl_init / d_init 2026-04-22 12:56:15 -07:00
Ryan Fleury 2388db3998 fold ctrl layer into dbg engine - no benefit to disallowing dependence on debug engine types inside of ctrl, and it has been causing unnecessary barriers for eventual eval magic. 2026-04-22 12:44:18 -07:00
Ryan Fleury d2eb9628ba test cases for ambiguous statics across many units; comments in exprs 2026-04-22 12:44:18 -07:00
Ryan Fleury 4815007ac1 use fully qualified type names in unpacked eval types - fixes namespaced type views 2026-04-22 09:09:41 -07:00
Ryan Fleury 21a150a181 turn off symbol-lookup highlighting following dot operators 2026-04-21 20:13:54 -07:00
Ryan Fleury 6f2b8540eb store partially-qualified names in generated RDIs; adjust debugger to do fully-qualified lookups when appropriate 2026-04-21 19:36:38 -07:00
Ryan Fleury fda0a9751b equip namespace records with container info 2026-04-20 15:14:01 -07:00
Ryan Fleury 581c102bfd sort deduplicated namespace map before producing namespaces 2026-04-20 14:43:03 -07:00
Ryan Fleury 5fb1ef4df9 fix global vmap baking determinism - eliminate dupes 2026-04-20 14:15:38 -07:00
Ryan Fleury 16ea060382 fix source of vmap baking determinism issue, + fix use-after-free from cross-lane scratch usage 2026-04-20 14:06:34 -07:00
Ryan Fleury e8e9ad204a further pdb namespaces progress; fix compile-only output for /o MSVC deprecation 2026-04-20 13:53:50 -07:00
Ryan Fleury e4bd6d5029 revert commit that deleted container-from-procedure APIs for whatever reason 2026-04-20 11:35:04 -07:00
Ryan Fleury 01682dee07 bump to 26 2026-04-20 11:12:25 -07:00
Ryan Fleury bc43fe9b31 only enable cursor trails if not click+dragging; redundant animation in that case 2026-04-20 10:22:56 -07:00