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
|
8b5be64507
|
fix primary module selection in multi-process scenarios
|
2024-08-15 12:23:08 -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
|
a0d91862a7
|
bundle per-module info in eval system; use all modules in all processes in ctrl layer evaluations; further sketching out of space info
|
2024-08-15 10:04:52 -07:00 |
|
Ryan Fleury
|
eda3d6f8b5
|
fix incorrect assumption of 0 slot -> primary rdi; fixes mistyped locals
|
2024-08-08 15:56:38 -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 |
|
Ryan Fleury
|
3e6b8a3c66
|
first pass at converting frontend over to using new eval system
|
2024-08-05 17:05:43 -07:00 |
|
Ryan Fleury
|
b18e437337
|
git normalize all files
|
2024-07-26 11:13:47 -07:00 |
|
Ryan Fleury
|
1f89d4de9e
|
do not overly-ambitiously hold debug info access scopes in ctrl thread run loop
|
2024-07-25 10:40:35 -07:00 |
|
Martins Mozeiko
|
ce7c8d5244
|
avx512 registers & fixes for getting & setting x64 context
|
2024-07-23 08:43:35 -07:00 |
|
Ryan Fleury
|
3cc51038df
|
os_core: linux port for memory, thread info, filesystem apis
|
2024-07-16 13:24:54 -07:00 |
|
Ryan Fleury
|
1b74fb0760
|
simplification pass over os core layer; simplification pass over base arena; set up build.sh; stub out new spot for linux os core
|
2024-07-15 17:23:01 -07:00 |
|
Ryan Fleury
|
435877824a
|
oh NO... never mind... mystery solved... be VERY CAREFUL ABOUT STATE MACHINES! fixes incorrect non-resets of win32 demon 'exception not handled' state, which was buggily leading to DBG_EXCEPTION_NOT_HANDLED being passed to ContinueDebugEvent
|
2024-06-19 11:56:47 -07:00 |
|
Ryan Fleury
|
3327d73373
|
notes on memory-execution-exception spoof implementation situation, and toggles to switch to old behavior, for later investigation
|
2024-06-19 11:32:44 -07:00 |
|
Ryan Fleury
|
376a7c48a5
|
pass over logging, include a lot of extra info in ctrl thread log; demon abstraction for target-process memory allocation/protection; switch spoofs to being in allocated page, rather than at bogus address
|
2024-06-19 11:12:21 -07:00 |
|
Ryan Fleury
|
f6eec680bc
|
adjust single stepping rule to be robust to non-single-step events; this is still not what the issue is pertaining to the stepping bug...
|
2024-06-18 17:19:17 -07:00 |
|
Ryan Fleury
|
41fd224956
|
log ctrl events on user thread; do not use cached register block reading path for ctrl stepping machine, as it must not prematurely update cache for all readers, since runs are not complete
|
2024-06-18 12:07:46 -07:00 |
|
Ryan Fleury
|
6cc1dfb39a
|
trap net generation logging; log markers
|
2024-06-18 10:14:54 -07:00 |
|
Ryan Fleury
|
749821dd27
|
adjust unwind loop to be robust to noop-unwind-steps that would otherwise result in infinite unwind loops
|
2024-06-17 12:14:10 -07:00 |
|
Ryan Fleury
|
6ad94978ce
|
correctly adjust dbgi timestamp in ctrl entity store, upon debug info changes
|
2024-06-17 10:55:17 -07:00 |
|
Ryan Fleury
|
723c7c5d4d
|
further tightening up of win32 demon run path; take a few fastpaths on x64; speeds up conditional breakpoints
|
2024-06-14 09:50:33 -07:00 |
|
Ryan Fleury
|
fb9824dc24
|
remove unnecessary ctrl log flushes, which seriously bloated the ctrl thread running path
|
2024-06-14 07:57:46 -07:00 |
|
Ryan Fleury
|
fa4d0bc262
|
ctrl: break debug string events apart if needed; enforce size cap on serialized ctrl events
|
2024-06-13 16:24:54 -07:00 |
|
Ryan Fleury
|
084cabad39
|
pass over high level composite rdi parsing helpers
|
2024-06-13 15:18:29 -07:00 |
|
Ryan Fleury
|
10ead2f999
|
rdi: first pass of eliminating remainder of non-top-level sections; simplification/cleanup of rdi parsing layer
|
2024-06-13 15:18:28 -07:00 |
|
Ryan Fleury
|
7e85335f3b
|
move per-source-file line maps to top-level sections, and move source line -> voff maps to separate top-level info table
|
2024-06-13 15:18:28 -07:00 |
|
Ryan Fleury
|
f50b54cff7
|
complete metacodification of rdi format info into tables
|
2024-06-01 19:24:46 -07:00 |
|
Ryan Fleury
|
d3adfdeced
|
deduplicate debug string event generation; log ctrl messages
|
2024-05-31 11:17:59 -07:00 |
|
Ryan Fleury
|
15f5894c60
|
choose debug info key timestamps from debug info path, rather than module timestamp; the module should be allowed to be newer
|
2024-05-26 13:25:03 -07:00 |
|
Ryan Fleury
|
489ae56223
|
fix moduleless unwinding and find-threads without debug info
|
2024-05-23 16:17:31 -07:00 |
|
Ryan Fleury
|
f26b4c3b06
|
eliminate path-tree-based keying of debug info on frontend; use dbgi-layer-defined debug info keys, which can be more robust to changes to the same debug info path across time (e.g. during hot reloads
|
2024-05-23 10:30:23 -07:00 |
|
Ryan Fleury
|
7a4e939886
|
fix incorrectly referring to root entity for debug info if missing; fix thread register cache issues; fix new dbgi layer issues
|
2024-05-22 11:13:08 -07:00 |
|
Ryan Fleury
|
a019115b95
|
get ctrl and debug frontend layers onto new pdb-path-based debug info loader layer; sketch out standalone fuzzy search layer, to replace old dbgi searching functionality; shift all debug frontend code from referring to debug info via 'binaries' to referring to debug info via 'dbgis', just file entities at the location of o.g. debug info
|
2024-05-21 10:08:28 -07:00 |
|
Ryan Fleury
|
b9ac104276
|
begin stitching new dbgi layer usage code into ctrl layer; keep track of per-module preferred pdb paths via event-synchronized ctrl entity tree; still need conversion
|
2024-05-20 17:15:11 -07:00 |
|
Ryan Fleury
|
6e41bdf11b
|
first pass at loader portion of new dbgi layer replacement; set up ctrl entity for per-module debug info selection path info
|
2024-05-20 16:28:52 -07:00 |
|
Ryan Fleury
|
fd6befecc3
|
get tls address calculation off of binary parsing path; do based on in-process memory
|
2024-05-20 12:55:20 -07:00 |
|
Ryan Fleury
|
5342fab86b
|
bugfix in new unwinder; applying stack ptr read & unwind when doing epilog unwinds
|
2024-05-20 11:12:29 -07:00 |
|
Ryan Fleury
|
9919ac59bb
|
move module image info parse / cache management to ctrl thread, directly tie to module lifetime as ctrl thread sees it; reduce load from each unwind
|
2024-05-20 10:58:45 -07:00 |
|
Ryan Fleury
|
2d1fcd7475
|
fix some unwanted frontend unwind cache behavior; fix staleness calculation in ctrl process memory cache
|
2024-05-20 08:23:41 -07:00 |
|
Ryan Fleury
|
393fb9e5f2
|
eliminate old unwinder usage code; more regression fixing
|
2024-05-17 15:07:21 -07:00 |
|
Ryan Fleury
|
301cf6b7ac
|
regression fixes, better integration, and tightening up the new unwinder
|
2024-05-17 14:15:11 -07:00 |
|
Ryan Fleury
|
578a56d231
|
further progress on new unwinder
|
2024-05-16 17:12:37 -07:00 |
|
Ryan Fleury
|
33ab26dfb3
|
begin porting unwinder to ctrl layer, just built purely on in-process memory, and getting completely off of parsed binary image artifacts
|
2024-05-16 15:39:57 -07:00 |
|
Ryan Fleury
|
3085482e34
|
expand base layer logging mechanism with bucketing info; make one bucket for passive log collection, another for user-facing errors; always consume user errors at the top-level and display; use user-error mechanism to communicate bad 32-bit app launches from demon
|
2024-05-14 08:10:02 -07:00 |
|
Ryan Fleury
|
05f2cde2ee
|
fix clang
|
2024-05-13 13:10:49 -07:00 |
|
Ryan Fleury
|
f4ea9e66b0
|
bugfix on-demand process-dependent breakpoint resolution path & user breakpoint hit logic in stepping machine; more logging
|
2024-04-25 08:59:00 -07:00 |
|