Commit Graph
755 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 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 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 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 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 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 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 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 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 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 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 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 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 897ffc6b69 file path evaluation activation in watch windows -> switch to file 2026-04-20 09:57:34 -07:00
Ryan Fleury 7a59548d5b remove 'Symbols' from section titles, now that old sections are gone 2026-04-20 09:57:33 -07:00
Ryan Fleury 881e19c842 get debugger onto new location info & symbol format 2026-04-20 09:57:33 -07:00
Ryan Fleury 6764e1281e setting for preferring displaying pointer addresses before contents 2026-04-20 09:57:32 -07:00
Ryan Fleury 21eb134f24 formalized addr bar in memory view, complete first pass of memory view peek types, various fixes 2026-04-13 14:39:31 -07:00
Ryan Fleury 686b64c357 start work on more sophisticated memory type interpretation capabilities in memory view 2026-04-09 16:24:28 -07:00
Ryan Fleury 5f5120144b memory copy/paste 2026-04-09 12:08:35 -07:00
Ryan Fleury e9a142b536 fix eval commit rules for strings; do not treat inputs as textual data when committing to pointers unless contents are quoted - fixes inability to change string pointer values 2026-04-08 13:44:55 -07:00
Ryan Fleury fee9f9a2c3 when resolving irtrees to values, promote register spaces -> containing process space; fixes pointer casts to register values 2026-04-07 17:16:56 -06:00
Ryan Fleury 7021d6056a use project name in window titles 2026-03-29 12:07:27 -07:00
Ryan Fleury a768f398cf single-press-to-activate in text right-click commands menu 2026-03-29 11:46:24 -07:00
Ryan Fleury 8c7b3d7356 project names, remove loaded user viz from top bar (only project is relevant in 99% of cases), clean up loaded project viz 2026-03-29 09:49:20 -07:00
Nikita Smith f9561cb618 add support for CFA in the eval system
Canonical Frame Address is a DWARF-only concept encoded in the unwind info.
Debugger must store this data for each call frame and provide it to
the eval system based on selected stack frame.

To abstract over format details, we introduce a "Frame Unwind Context".
For DWARF, this context maintains the intermediate unwind state and exposes
the CFA, whereas for PE, it remains empty.
2025-11-26 15:42:40 -08:00
Ryan Fleury 88b79b2b6a turn off transient tab creation with explicit open/switch command 2025-11-07 14:15:35 -08:00
Ryan Fleury af7f571932 adjust menu bar 2025-11-03 14:59:15 -08:00
Ryan Fleury 5a93f5d4cb clean up drop completion, provide paths for debug info drop completion 2025-10-23 15:37:34 -07:00
Ryan Fleury ae17084b44 better artifact cache cancellation thread work organization - only do more frequent cancellation scans when in a tick, otherwise sleep 2025-10-23 14:39:44 -07:00
Ryan Fleury 721649b7ea tweak process working set size placement 2025-10-23 14:14:48 -07:00
Ryan Fleury 1d8abb1906 switch to tighter cache for loaded debug infos 2025-10-23 13:55:51 -07:00
Ryan Fleury c318c10486 pipe through guids in rdi conversion; sketch out 'query' meta cfg evaluation members, which are not stored but computed, but are not sets; plug in debug info guid evaluation that way 2025-10-23 12:10:23 -07:00
Ryan Fleury b33a257bc4 switch eval viz stringification, and lister completions, over to working correctly with process-less (but not debug-info-less) evaluations 2025-10-22 16:59:24 -07:00
Ryan Fleury c8c25c0f98 processless debug info loading/unloading; separate modules from dbg infos in eval; keep dbg infos around after debugging via config, correllate to new modules, evict when necessary, when generating new versions 2025-10-22 16:39:29 -07:00
Ryan Fleury cf856524c1 reflect dpi change events appropriately in font size / window pos & size 2025-10-20 17:42:34 -07:00
Ryan Fleury f2d28045fa fix incorrect clip in ui hover 2025-10-20 17:07:36 -07:00
Ryan Fleury 08698d739d do not use full escaping path for cli args - does not correctly match command line behavior 2025-10-20 16:35:04 -07:00
Ryan Fleury c921645043 fix signed shifts in raddbg_markup utf8 decoding; fix quoting of argument strings with spaces in command line target builds 2025-10-20 16:19:22 -07:00