Ryan Fleury
33de625373
eval: register, register alias name mapping in new name resolution pass
2025-04-02 14:56:53 -07:00
Ryan Fleury
6113a2e3db
eval: do simplification pass over identifier resolution, shift from parsing stage -> ir generation / typechecking stage; do simplifications over expr tree, eliminate redundant kinds
2025-04-02 14:30:12 -07:00
Nikita Smith
1c518bfa07
prefix COFF machine enums with "Type"
2025-03-31 22:53:10 -07:00
Ryan Fleury
a5d6e8a335
make eval ctxs more robust to missing info, e.g. in the test harness case
2025-03-31 13:48:19 -07:00
Ryan Fleury
3911a66b30
fill out first pass implementations of raddbg_markup features; thread names, thread colors, format-string output-debug-string helper, attachment-checking
2025-03-28 10:56:41 -07:00
Ryan Fleury
03cbbac6d7
source-markup-defined auto-view-rules
2025-03-26 13:45:26 -07:00
Ryan Fleury
a826afd4d6
merge part 2
2025-03-25 16:30:05 -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
8bca57ef7f
improved stability w.r.t. cfgs and ctrl entities expansion across changes
2025-02-21 18:14:02 -08:00
Ryan Fleury
9b636568fd
more convergence
2025-02-21 15:29:54 -08:00
Ryan Fleury
b0486d942e
correctly pipe through exception info, visualize exceptions better
2025-02-21 11:46:28 -08:00
Ryan Fleury
c7da3e8a13
distinguish cfg (breakpoints, watch pins) source-locations from address locations; expand breakpoint addresses to being full expressions, & use this to implement symbol breakpoints (we now support fancier address resolution breakpoints too)
2025-02-21 08:42:33 -08:00
Ryan Fleury
eae15a3d41
work on command queries, distinguish floating vs. embedded
2025-02-20 13:30:28 -08:00
Ryan Fleury
72869bc73b
simplify name alloctors in rd/ctrl layers; port panel-closure path
2025-02-17 12:05:56 -08:00
Ryan Fleury
ecb4e0d282
rich hover for thread-hover editors
2025-02-14 09:43:19 -08:00
Ryan Fleury
3b19334075
tear out old meta evaluation code; robustify filesystem streaming async reads
2025-02-10 14:12:44 -08:00
Ryan Fleury
aac93b5952
move over all expansion view rules to new eval-system lookup hooks; eliminate most of old hooks
2025-02-01 17:37:24 -08:00
Nikita Smith
153bbc7b1d
pass over COFF layer
...
- updated naming convention on structs, enums, and macros to conform with code base style
- moved related structs closer to each other
- moved parser code to separate file
2025-01-20 19:31:52 -08:00
Ryan Fleury
e82041e5df
'ghost exceptions' fix - spoof hit detection needs to occur based on the demon event's reported exception address, rather than wherever the instruction pointer happens to be at the time of the exception
2025-01-07 11:04:34 -08:00
Ryan Fleury
bc44f58a80
fix off-by-one size restriction in string chunk allocation; apply same fixes to ctrl entity string allocator
2025-01-05 22:39:10 -08:00
Ryan Fleury
fbc1f871cf
add comment about previously introduced path heuristic - will need to be careful on linux
2025-01-04 17:07:34 -08:00
Ryan Fleury
47373fbb58
prioritize exe-relative debug paths - treat embedded pdb/rdi paths as relative to the exe first - if they are relative, then relative to the exe is the correct choice, but if they are absolute, then it will simply be an invalid path, and so it will just pick up the full absolute embedded pdb path on the next candidate.
2025-01-04 17:02:46 -08:00
Nikita Smith
b5273d6a00
keep parsing on encountering epilog opcode
2024-12-06 14:00:12 -08:00
Ryan Fleury
751626446a
pending thread names in ctrl entity system, for cases where a thread name is established before the thread is reported as being created, and the id is used to correllate
2024-12-06 12:31:37 -08:00
Nikita Smith
669c03cff1
rename time -> time_stamp
2024-12-06 11:53:16 -08:00
Ryan Fleury
94c4000603
adjust failure cases in conversion; adjust waiting time period in pre-emptive heuristic conversion rule; avoid bp resolution path & waiting on debug info when unnecessary
2024-12-03 11:32:57 -08:00
Ryan Fleury
81c7c7a7c4
per-target option of automatically debugging subprocesses, or not
2024-11-14 14:18:35 -08:00
Ryan Fleury
95fe497056
fix incorrect advance logic on invalid page reads in cached process memory reading path
2024-11-14 13:08:17 -08:00
Ryan Fleury
420f089fda
eliminate incorrect cases of async_push_work, where pushes which could occur on worker threads may try to write to a cache that is currently being held, when the push occurs (when all threads are saturated) - async_push_work must never be called from within a cache locking mechanism
2024-11-14 09:55:03 -08:00
Ryan Fleury
ff45952f07
re-introduce timeout-based re-requests for dbgi & fs layers; further adjust pre-emptive conversion heuristic
2024-11-14 09:29:01 -08:00
Ryan Fleury
fa4f9621b0
adjust pre-emptive conversion heuristics; fix deadlock scenario in match work
2024-11-14 09:10:07 -08:00
Ryan Fleury
4c0ebc851c
async priorities, strip out incorrect ring position calculations
2024-11-13 18:23:18 -08:00
Ryan Fleury
5a79518dcb
fix debug directory tree cache clearing rule
2024-11-13 16:05:22 -08:00
Ryan Fleury
713cc2c693
entering the 7th circle of DLL hell
2024-11-13 15:48:38 -08:00
Ryan Fleury
dcec3c07d9
pass over pre-emptive debug info conversion heuristic, to be friendlier to ue-style root project directories, with what feels like 1000s and 1000s of sub-directories with DLLs hidden in various folders
2024-11-13 14:40:08 -08:00
Ryan Fleury
4278f7db1e
extend pre-emptive conversion rule to do limited children directory checking as well
2024-11-13 11:47:17 -08:00
Ryan Fleury
31f25d0fe7
eliminate attempts at clever read-only synchronization in file stream & ctrl layer, just fall back to simple locking mechanism
2024-11-10 11:25:55 -08:00
Nikita Smith
214be8c433
moved Guid struct and related helpers to base
2024-11-07 11:54:25 -08:00
Ryan Fleury
1621e504ce
first half pass at new dbgi fuzzy searching functionality; distributes search amongst sub-tasks
2024-11-05 15:07:06 -08:00
Ryan Fleury
44b8c9e87c
eliminate r/w lock promotion concept
2024-11-04 13:30:10 -08:00
Ryan Fleury
a40edbba51
dasm, ctrl memstream, & more moving to async layer, rather than per-layer thread pools
2024-11-03 12:11:24 -08:00
Ryan Fleury
4769d0a8d4
narrow scope of name resolution for debugger collections; default launching to not attach to child processes, set up msgs to parameterize this
2024-10-28 15:37:28 -07:00
Ryan Fleury
41cddf96b8
preemptive adjacent pdb conversion on initial module load; tighten up c/c++ lexer for smaller string lexes
2024-10-28 13:52:36 -07:00
Ryan Fleury
62659c5161
introduce dedicated kill-all path; fix exit conditions for single-stepping stuck threads to be robust toward unexpected kills; fix exit conditions for kill-single-process path, to be more robust to halts; correctly report stop cause
2024-10-23 13:19:37 -07:00
Ryan Fleury
1ecabff7b6
prefer usage of pdbs in dbgi layer, if rdi path is not baked in, but pdb path *is* - otherwise the dbgi layer can simply choose a stale rdi file with no way to generate a new one.
2024-10-23 11:49:47 -07:00
Nikita Smith
c8a5fc4806
Changed debug directory parser to handle multiple entries. Added
...
parser for RDI debug info entry. Changed debug info lookup order so
debugger tries to load path specified in exe first and if debug info
is missing then debugger will do heuristic searches.
2024-10-17 18:51:35 -07:00
Ryan Fleury
b02c67bfa6
close stdout/stderr/stdin handles
2024-10-17 12:20:03 -07:00
Ryan Fleury
e376ad8113
stdout/stderr/stdin file path overrides for targets
2024-10-17 11:25:47 -07:00
Ryan Fleury
1c269286df
auto view rules
2024-10-14 08:19:42 -07:00