Commit Graph
37 Commits
Author SHA1 Message Date
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 5e81f124dc debug constant data evaluation spaces -> read from rdi data directly 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
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 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 f67cf8b59d remove incorrect space promotion rule 2025-10-07 14:51:34 -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
Nikita Smith 1f9ce6e6ba eval opcode stubs 2025-10-02 18:19:42 -07:00
Nikita Smith 954633bba2 add opcode for swapping top two values on the stack 2025-10-02 18:19:42 -07:00
Ryan Fleury cf9d736ff5 promote register space -> primary space, on space reads 2025-07-23 15:00:05 -07:00
Ryan Fleury 94b969f203 copyright year 2025-06-02 14:13:57 -07:00
Ryan Fleury 2092f5ca69 eval space generation, to gracefully mark cached evaluations as dirty when desired 2025-04-26 12:33:48 -07:00
Ryan Fleury c766ffe0a3 kill old code 2025-04-23 11:55:58 -07:00
Ryan Fleury 17ff4da9bf more eval scratch work 2025-03-31 13:09:30 -07:00
Ryan Fleury fbe0d3bc2e set up eval scratch; promote raddbg_markup to base layer, plug in custom codebase vsnprintf 2025-03-31 11:41:14 -07:00
Ryan Fleury c4f4b5ff01 merge 2025-03-25 16:21:51 -07:00
Nikita Smith 3eedcb1912 initialize frame base in interp context 2025-03-12 14:49:14 -07:00
Ryan Fleury ee984877b0 work on multi-topology watch tables; fancy evaluation for cfgs, regardless of where they are spawned 2025-02-11 13:30:07 -08:00
Ryan Fleury 5b82fc2339 eliminate member-filtering hack for cfg views; eliminate deref-space-ptr hack 2025-01-30 15:52:26 -08:00
Ryan Fleury 4cc5f636fe cfg tree collection evaluation 2025-01-27 15:33:35 -08:00
Ryan Fleury 84f685803d fix set-space ir extension instruction; expand ctrlbits to u16, so that it can encode modern register sized decodes 2024-09-16 11:59:06 -07:00
Ryan Fleury deef05d0d2 extend eval space size to allow u128 key for hash store & related cache keys, + some extra metadata determined by user (user-defined kind & extra u64) 2024-09-11 17:11:33 -07:00
Ryan Fleury 9932a30ef9 entity parameter tree equipment; architecture -> arch 2024-08-29 13:16:50 -07:00
Ryan Fleury cf7b664ab2 bswap expression & ir 2024-08-27 11:35:45 -07:00
Ryan Fleury 8ae8e2f943 extend file streaming cache to support range-based file stream queries; begin plugging in file stream queries as alternative to ctrl stream queries; further bugfixes & unification in eval system 2024-08-23 12:29:52 -07:00
Ryan Fleury 47462f4789 first pass at filesystem evaluation in eval system 2024-08-22 16:55:07 -07:00
Ryan Fleury acd7435553 collapse register mode into being a thread space, unify process/thread/debugger read/write paths, keep differences in core eval read/write paths 2024-08-22 14:50:27 -07:00
Ryan Fleury 1848acd47e eliminate eval assumption of single architecture; equip each eval module with an architecture; use to correctly specify the debugger process architecture; do initial pass of debugger space evaluation 2024-08-21 12:55:50 -07:00
Ryan Fleury c77d61fb4c ellipses for unfinished arrays/structs in eval single-line visualization 2024-08-20 16:33:08 -07:00
Ryan Fleury 4611ddb536 eval value array indexing; type-only evaluation of array indexing and member accesses; various fixes 2024-08-20 16:13:01 -07:00
Ryan Fleury b98a75e056 switch eval memory reads -> more generalized space reads; apply to register reads as well 2024-08-15 11:55:22 -07:00
Ryan Fleury 59c01a73af pipe through space information through eval compiler/interpreter 2024-08-15 11:21:52 -07:00
Ryan Fleury 728120690d ptr/array-value comparison path in eval 2024-08-14 11:29:45 -07:00
Ryan Fleury 918895c091 small string evaluation; strings as values in eval 2024-08-14 10:49:56 -07:00
Ryan Fleury 5a682e5888 split eval systems, to decouple types/exprs/parsing (debug info dependent), from irization (macro map dependent), from interpretation (completely independent of the former two stages & all their dependencies) 2024-08-06 13:57:48 -07:00