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 |
|