Commit Graph
423 Commits
Author SHA1 Message Date
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 1c29112e9c first pass at per-target output log labels 2026-06-02 12:10:47 -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 SmithandRyan Fleury c62afbcf83 normalize line endings in generated files 2026-06-02 12:10:34 -07:00
Ryan Fleury 17cdf458d3 on ambiguous debug info matches, inside primary debug info -> try building a fully qualified name from context, and replacing initial debug info match if it hits 2026-05-19 12:08:26 -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 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 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 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 fb04768002 d2r2: hook up scope containers to contained types / namespaces; fix address table parsing 2026-05-05 09:42:55 -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 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 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 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
Nikita Smith d607d6377d build fixes 2026-04-20 11:00:54 -07:00
Ryan Fleury 5e81f124dc debug constant data evaluation spaces -> read from rdi data directly 2026-04-20 09:57:33 -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 6a36382690 eval: remove incorrect truncate ops 2026-04-15 12:07:14 -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
Nikita Smith 38afd6260d port eval test 2026-04-09 14:06:33 -07:00
Ryan Fleury 77afc94cee correctly apply lens type flags in shorthand chained exprs (fixes foo,x
hex inheriatnce)
2026-04-07 17:37:10 -06: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 960f439a59 notes 2026-04-07 15:26:43 -06:00
Ryan Fleury f59da0be9c extend eval language w/ identifier disambiguators - used to pick amongst many identically-named things. for instance, local_static#0 will match the first local_static, local_static#1 will match the second, etc. 2026-03-04 11:49:04 -08: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 4053329d65 fix incorrect list link read 2025-10-23 16:09:44 -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 09418f1b08 pipe member finding errors through correctly 2025-10-20 16:30:59 -07:00
Ryan Fleury 2ad3e5b1cf allow . and -> for array types 2025-10-20 16:28:07 -07:00
Ryan Fleury 4bc6240ac0 actually record hit offsets in linked list gathering artifact creation! 2025-10-20 13:45:14 -07:00
Ryan Fleury a96c822440 use process handles in list evaluations rather than spaces - we will need to upgrade this once eval has been upgraded 2025-10-17 07:37:36 -07:00
Ryan Fleury 52680a81fe require data field members when looking for links w/ list lens; config node ptr lists need dll 2025-10-16 15:57:43 -07:00
Ryan Fleury 8dbfa97c71 adjust list lens member picking rules - use default argument, then fall back to next, prev, or the first pointer to an identical type 2025-10-16 11:10:00 -07:00
Ryan Fleury 410837d26d key list gather artifact lookups by space gen 2025-10-15 16:44:30 -07:00
Ryan Fleury ac9d6e861c first pass at list view, w/ asynchronous offset chain gathering 2025-10-15 16:33:59 -07:00
Ryan Fleury 87edc583bf define ctrl entity eval spaces once, in ctrl layer - nest in rd layer 2025-10-13 12:40:28 -07:00
Ryan Fleury 2cc7f45ec1 promote register values to primary module space values for memory view specifically 2025-10-07 15:06:46 -07:00
Ryan Fleury f67cf8b59d remove incorrect space promotion rule 2025-10-07 14:51:34 -07:00
Ryan Fleury ec978d8d46 do not use complex register union types for common registers; just use primitive integer types instead 2025-10-07 14:41:51 -07:00
Ryan Fleury ab841035c0 preserve operand size info for shift operations, use along with typegroup to do correct sign preservation on shifts 2025-10-07 14:20:36 -07:00
Ryan Fleury 2a7177861b remove extra watch row column cases - simplify most cases down to expr / eval. use extra 'note' for watch window cells to annotate type info - this sacrifices the full type evaluation cell, and instead uses a small extra bit of text to denote the type for quick reading. but this full type cell is not needed in most cases, and it can always be reobtained with an explicit typeof evaluation. 2025-10-06 17:06:00 -07:00
Ryan Fleury 835a57f918 extend dbgi matching system with preferred dbgi key, to disambiguate results - fill with primary module dbgi in eval, to always prefer selected thread context when applicable 2025-10-06 14:31:57 -07:00
Ryan Fleury d2216019b9 prefer primary module, or modules with space matching the primary module's, when doing top-level debug info name matching in eval 2025-10-06 14:23:34 -07:00
Nikita Smith 1f9ce6e6ba eval opcode stubs 2025-10-02 18:19:42 -07:00