Commit Graph
391 Commits
Author SHA1 Message Date
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
Nikita Smith 954633bba2 add opcode for swapping top two values on the stack 2025-10-02 18:19:42 -07:00
Ryan Fleury a58c23754a di2 -> di; delete old dbg info layer, delete async layer 2025-10-01 17:30:08 -07:00
Ryan Fleury 4964a94cd3 transition to dbg_info2 2025-09-30 12:52:32 -07:00
Ryan Fleury d7fc7d1fa9 handle aliases gracefully in eval expansion & string iterator 2025-09-26 16:23:17 -07:00
Ryan Fleury eda4f6bafa preserve & visualize restrict type modifiers in eval 2025-09-26 15:32:13 -07:00
Ryan Fleury 26606d7895 do not strip enums/aliases on array index ops 2025-09-15 11:32:22 -07:00
Ryan Fleury c33dd2869a define synchronization primitive interface in base layer, implement using os layer; convert all usage -> base layer; use base sync primitives in lane tctx info 2025-08-18 10:46:43 -07:00
Ryan Fleury f754b4c2db fix pointer/array comparison paths not being enabled for not-equal; fix value arithmetic paths applying in type comparisons 2025-08-15 11:31:50 -07:00
Ryan Fleury 83650a5fe0 support unsigned -> unsigned int; support as-style casts in expressions; pack int alias in pdb-produced rdis 2025-08-15 10:56:42 -07:00
Ryan Fleury a8f6142e63 eval/ir: do not strip enum types off when doing address operations 2025-08-11 16:18:39 -07:00
Ryan Fleury 9cff2bc7dd symbolof operation in eval 2025-08-05 10:21:42 -07:00
Ryan Fleury 2e8c0875c8 only use type-derived sizes in eval ranges when the evaluation is an offset, not a value 2025-07-28 14:34:46 -07:00
Ryan Fleury 5134d1ce4c adjust eval -> space range mapping to fix a few edge cases 2025-07-28 14:32:47 -07:00
Ryan Fleury 163b79e4c0 decay bitfield types in casting path, allow casting to integer types 2025-07-25 15:29:34 -07:00
Ryan Fleury 393c291f63 reflect casting changes to call-cast style 2025-07-25 15:19:35 -07:00
Ryan Fleury 1c2855a314 unwrap decorative type operators on casts when building ops for casting, to allow for graceful enum casting; gracefully skip struct/enum symbol name prefixes 2025-07-25 15:17:39 -07:00
Ryan Fleury c43697fb18 fix type debug info table evaluations; fix preference for auto-hook-applied lhs evaluation when doing member/array accesses 2025-07-25 13:29:08 -07:00
Ryan Fleury 051bacf124 reflect cast changes in cast-calls 2025-07-23 16:05:30 -07:00
Ryan Fleury 3ae3f94db0 split unsigned => signed casting case from shrinking conversion truncation cast path 2025-07-23 16:04:59 -07:00
Ryan Fleury cf9d736ff5 promote register space -> primary space, on space reads 2025-07-23 15:00:05 -07:00
Ryan Fleury 38f769c00d only apply truncation to integer types, oops 2025-07-23 14:36:20 -07:00
Ryan Fleury cd64d959ef apply integer truncation operations on both sign/size changes, rather than just size 2025-07-23 14:31:51 -07:00
Ryan Fleury 87fa6b9239 fix <64-bit integer eval stringification path, to not interpret too many bits 2025-07-23 13:26:23 -07:00
Ryan Fleury dc79c06031 adjust implicit accessing rules with nested auto hooks (slice-of-slices case); prefer to not show address value with string prefix content in single-line eval stringification 2025-06-30 09:33:23 -07:00
Ryan Fleury 0018147b95 bounds-check di matches 2025-06-27 14:40:13 -07:00
Ryan Fleury d4c15d9089 pull out type-only identifier resolution and switch to match store; eliminate synchronous matching work 2025-06-27 13:55:18 -07:00
Ryan Fleury 5750c17c80 eliminate old slow identifier resolution path 2025-06-27 12:34:46 -07:00
Ryan Fleury b315bf6811 switch eval debug info symbol name resolution to using async match store 2025-06-27 11:58:04 -07:00
Ryan Fleury 36f5597d8e eliminate unneeded path-renormalization in debug info cache lookup 2025-06-25 10:52:29 -07:00
Ryan Fleury 5de7c06d3b always zero param type keys 2025-06-17 07:26:17 -07:00
Ryan Fleury 4057e00fa1 further memory view fixes / tweaks; rich hover coverage for virtual address ranges in memory views / watch views 2025-06-06 14:57:46 -07:00
Ryan Fleury 60d88ac446 fix missing increment in eval token chunk list -> token array 2025-06-06 09:53:44 -07:00