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 Smith and Ryan 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