Commit Graph
281 Commits
Author SHA1 Message Date
Ryan Fleury b704e797e2 notes 2026-06-27 03:50:17 -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 a441a5eef3 plug in codeview-conversion-backed pdb converison 2026-06-18 08:54:41 -07:00
Ryan Fleury bcdc6acd0e checkpoint on eval2 parse 2026-06-16 12:29:03 -06: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 a980be7664 notes 2026-06-10 12:51:52 -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 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 b22f9f2d8b checkpoint on symbol server 2026-06-08 17:32: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 6ed6d3f16d rdi_from_dwarf [1] -> obsolete; promote 2 -> 1 2026-06-02 12:11:15 -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
Ryan Fleury 9cc2afc659 eliminate backend-specific module parsing from debug engine ctrl thread; just pass that info back via the demon event 2026-06-02 12:11:10 -07:00
Ryan Fleury dc61f20e3b sketch out stepping/eval exemplar testing; step-to-exit first pass 2026-06-02 12:11:04 -07:00
Ryan Fleury 685c408a13 migrate from torture-defined testing markup -> base 2026-06-02 12:11:02 -07:00
Ryan Fleury 5f851ad1b0 simplify testing ipc driving stuff in raddbg layer; put in formal eval/line-from-vaddr commands 2026-06-02 12:10:52 -07:00
Ryan Fleury 56ee3bbf7b eval: use resolution qualifiers to express disambiguating debug info, or module, or unit, and use in debug info resolution matching path; automatically prefer selected thread voff's unit 2026-06-02 12:10:43 -07:00
Nikita Smith b23323c03d add switch to override default logs folder 2026-06-02 12:10:04 -07:00
Nikita Smith d7161ea6e6 clean up stepping test, and remove switch for overriding crash dump path 2026-06-02 12:09:59 -07:00
Nikita Smith 5a3741a264 gen crash dumps 2026-06-02 12:09:54 -07:00
Ryan Fleury 4840b46b84 dbg_engine: shift thread register reads / process memory reads -> abstraction layer, rather than directly calling into demon; cache crash dump info, like thread info & memory ranges; implement thread reg reads & memory reads for dumps by using this acceleration structure when we have a dump handle, instead of regular demon reads. 2026-05-18 14:51:17 -07:00
Ryan Fleury fddf353ea0 minidump format types; open crash dump command, stub out opening path in control thread; expand d_handles to support machine id, entity id, *and* 'controller kind', which can be either a dump file or a demon - this properly separates the true process control abstraction (demon) from opening a regular dump file on any machine, which will let us trivially support any kind of dump file on any platform; also fix bad cfg tree state leak 2026-05-16 18:26:23 -07:00
Ryan Fleury c90cbb80aa fix label rendering in cfg title fstr build 2026-05-14 15:00:07 -07:00
Ryan Fleury a60502d765 sketch out first pass of autos evaluation 2026-05-14 13:50:34 -07:00
Ryan Fleury d207398934 display project names in recent project list; fix 0s for address-disabled string viz 2026-05-13 15:50:59 -07:00
Ryan Fleury fbe7b20aee finish addresses-before-content single-line eval visualization path 2026-05-13 15:22:56 -07:00
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 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 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 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 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 a16716eff7 d2r2: fix missing function types on functions returning void 2026-05-09 12:38:08 -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 44c6b6e4d5 do not duplicate function records for decls 2026-05-05 12:22:20 -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 602cf68980 fix builds 2026-04-23 14:45:13 -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