Ryan Fleury
|
f7e7aec355
|
bundle 'get key & stream' operation in process memory cache; eliminate old cache interaction in texture view rule hook
|
2024-03-26 11:55:15 -07:00 |
|
Ryan Fleury
|
55146b547b
|
reading & organization pass over unwinding layer; deduplicate PE info with PE layer, move dwarf info to in-progress dwarf layer
|
2024-03-25 14:42:54 -07:00 |
|
Ryan Fleury
|
1c3792a3da
|
tighten architecture-specific path for unwinder
|
2024-03-25 13:34:43 -07:00 |
|
Ryan Fleury
|
83ecb4b86a
|
ctrl thread stepping machine: read initial stack-pointer-check-value *before* single-stepping stuck threads, otherwise we can obtain an incorrect stack check value if the single-step causes a call.
|
2024-03-22 17:27:54 -07:00 |
|
Ryan Fleury
|
c26274ac70
|
disable single-step-stuck-thread behavior when launching-and-initing, such that breakpoints on entry point will not be stepped over
|
2024-03-22 17:17:08 -07:00 |
|
Ryan Fleury
|
2c8c9a497c
|
parameterize ctrl thread registers cache with entity store, rather than relying on implicit demon-api-provided cache
|
2024-03-22 16:15:20 -07:00 |
|
Ryan Fleury
|
c636e1ad2e
|
extend demon2 with explicit separation between blocking ctrl mechanisms & passive access/introspection/writing mechanisms; extend demon2 api with access mechanism
|
2024-03-22 15:53:04 -07:00 |
|
Ryan Fleury
|
ca01e66ea2
|
plug in tls root vaddr path
|
2024-03-22 14:12:40 -07:00 |
|
Ryan Fleury
|
9de678ec22
|
disable debug heap by default; get unwindg path off caching layers & use demon reads directly
|
2024-03-22 13:51:26 -07:00 |
|
Ryan Fleury
|
e9129975e3
|
double buffer locals cache & tls base cache; introduce synchronizing mechanism for run vs. non-run ctrl thread states, to only attempt demon reads/queries during non-running times
|
2024-03-22 13:32:22 -07:00 |
|
Ryan Fleury
|
3994adae92
|
double-buffer frontend unwind cache
|
2024-03-22 11:56:28 -07:00 |
|
Ryan Fleury
|
982f2b6bab
|
extend process memory cache queries with output channel for staleness detection - in some cases this is crucial, in other cases you don't care & want to passively accept stale redsults
|
2024-03-22 10:33:20 -07:00 |
|
Ryan Fleury
|
236214db25
|
eliminate unnecessary layers in frontend
|
2024-03-21 16:13:01 -07:00 |
|
Ryan Fleury
|
2c9ff37b2c
|
sketch out new unwind cache types
|
2024-03-21 13:53:12 -07:00 |
|
Ryan Fleury
|
1466b27385
|
tweak registers cache lookup rules, to correctly return stale results on failed reads
|
2024-03-21 11:48:48 -07:00 |
|
Ryan Fleury
|
e0e84c2ee3
|
further progress on integrating new demon layer
|
2024-03-21 11:28:47 -07:00 |
|
Ryan Fleury
|
aa7c30d85b
|
ctrl: first pass at new thread registers cache; also checkpoint for progress on moving to new demon layer
|
2024-03-14 21:09:43 -07:00 |
|
Ryan Fleury
|
936c6149e3
|
remove timeout on thread register cache accessor
|
2024-03-12 16:35:43 -07:00 |
|
Ryan Fleury
|
ea74f928cd
|
fix process memory cache query mechanism when ring buffer is near capacity
|
2024-03-12 15:51:26 -07:00 |
|
Ryan Fleury
|
871419de39
|
bugfixes in new demon layer; adjust retry mechanism in process memory cache query; ui fixes
|
2024-03-12 15:49:36 -07:00 |
|
Ryan Fleury
|
8639faabdd
|
ctrl entity string allocation & tracking, for thread names & module names; fix process memory cache in edge cases
|
2024-03-12 14:56:02 -07:00 |
|
Ryan Fleury
|
d1e88f781e
|
tweak ctrl entity building to be bucketed per 'entity store' - we can now have multiple 'entity stores', one on the frontend thread, one on the ctrl thread, and keep them in sync at specific points via event lists
|
2024-03-12 14:20:24 -07:00 |
|
Ryan Fleury
|
4a3cc9bb39
|
get raddbg building on new demon layer
|
2024-03-12 13:55:13 -07:00 |
|
Ryan Fleury
|
2749301777
|
checkpoint - moving ctrl mostly over to demon2; sketching out a few missing cache pieces
|
2024-03-12 11:41:53 -07:00 |
|
Ryan Fleury
|
49ccf50fd4
|
first pass at integrating new demon2 layer into debugger, need to change ctrl a bit to adopt some of the things that were previously being left up to demon layers
|
2024-03-08 12:49:06 -08:00 |
|
Ryan Fleury
|
0d0c599e00
|
begin process of moving pe unwinding info into pe layer; more demon2 work checkpoint
|
2024-03-05 16:54:57 -08:00 |
|
Ryan Fleury
|
874f40244c
|
eliminate per-executable initialization, just pull that down into the base layer entry point
|
2024-02-26 10:45:00 -08:00 |
|
Ryan Fleury
|
5813cb2af8
|
proper thread names
|
2024-02-22 16:20:27 -08:00 |
|
Ryan Fleury
|
0b73582b87
|
raddbgi_from_pdb: multithread initial independent parsing/preparation phases of converter
|
2024-02-19 15:52:26 -08:00 |
|
Ryan Fleury
|
816f94ef71
|
further raddbgi -> rdi naming pass
|
2024-02-13 15:56:30 -08:00 |
|
Ryan Fleury
|
b9f010dff6
|
raddbgi_ -> rdi_
|
2024-02-13 15:52:53 -08:00 |
|
Ryan Fleury
|
9c7fd0a411
|
metagen: simplify & straighten out table generation further; raddbgi_cons: fix incorrect str8_list_join
|
2024-02-13 11:38:43 -08:00 |
|
Ryan Fleury
|
1d9dc2b9a9
|
metagen: simplify data tables
|
2024-02-13 11:16:45 -08:00 |
|
Ryan Fleury
|
ea840a71e8
|
metagen: simplify enum generation; reading/organization pass over raddbgi_from_pdb
|
2024-02-13 10:55:06 -08:00 |
|
Ryan Fleury
|
aa2a0948ba
|
raddbg -> raddbgi
|
2024-02-12 15:03:13 -08:00 |
|
Ryan Fleury
|
95a6579f89
|
expand eval machine interpretation error codes; visualize
|
2024-02-08 10:28:41 -08:00 |
|
Ryan Fleury
|
6296d2bd96
|
first pass of watch window macros; fix active-but-disabled line edit rendering; other minor fixes
|
2024-02-06 11:47:52 -08:00 |
|
Ryan Fleury
|
816bf195c2
|
more filtering coverage; fuzzy filtering on search tags as well as entity display string; display a few known frames from callstack in thread entity description buttons
|
2024-02-05 14:36:33 -08:00 |
|
Ryan Fleury
|
95b8b71322
|
dedup multiple unwinder paths; just collapse down to using the ctrl one
|
2024-02-05 14:06:06 -08:00 |
|
Ryan Fleury
|
d2d3d14c41
|
demon/win32: roll back on all hit traps, even if explicit. the previous implementation would silently skip threads past explicit traps that they hit, as a way of implicitly storing the fact that trap exceptions had been reported, and the user could continue past them. this resulted in incorrect instruction pointer display in those circumstances. this change adjusts this, so that after a trap exception of any kind, the instruction pointer is ALWAYS rolled back. to ensure that the trap is not repeatedly hit, if the associated exception has already been reported, to allow the user to e.g. step over traps (this is the behavior of Visual Studio), additional state is stored per-thread-entity, which allows a subsequent demon_os_run to adjust RIPs past their previously reported traps before running again.
|
2024-02-05 10:47:57 -08:00 |
|
Ryan Fleury
|
2359c82fba
|
extend ctrl process memory cache with waiting mechanism; employ to wait for changes to propagate through process memory cache, when forcibly mutating debuggee process memory
|
2024-02-05 10:04:00 -08:00 |
|
Ryan Fleury
|
f03f3e4421
|
robustify ctrl memory streaming cache & texture cache layer to unreasonably large sizes/dimensions
|
2024-02-05 09:24:00 -08:00 |
|
Ryan Fleury
|
95eea70682
|
fix failure condition in entry point detection
|
2024-02-05 08:54:45 -08:00 |
|
Ryan Fleury
|
762013899f
|
switch entry point detection/trap strategy to finding *all* possible candidates, and trapping all of them, rather than forcing the ctrl thread to decide on one specific entry point voff
|
2024-02-05 08:41:18 -08:00 |
|
Ryan Fleury
|
509089d95d
|
remain robust to busted range queries for ctrl process memory cache
|
2024-02-03 09:20:31 -08:00 |
|
Ryan Fleury
|
f796f64c2f
|
process memory read failuer visualization in eval watch view tables
|
2024-02-02 17:05:55 -08:00 |
|
Ryan Fleury
|
385014adcb
|
raddbg nil tables, autofill empty tables with 1-sized nils; use element-from-idx wrapper to bounds-check and nilify all out-of-bounds raddbg table accesses
|
2024-01-31 08:43:33 -08:00 |
|
Ryan Fleury
|
c700264445
|
use explicit thread name exception thread ID parameter, when not implicit
|
2024-01-30 13:11:37 -08:00 |
|
Ryan Fleury
|
d9f69cdf14
|
complete first pass of fuzzy matching symbol lister for go-to-name, and setting function breakpoints
|
2024-01-30 12:58:24 -08:00 |
|
Ryan Fleury
|
57fb21adf7
|
always allocate byte dirty/unreadable flags in ctrl process memory cache lookup, rather than trusting caller to check
|
2024-01-29 11:56:34 -08:00 |
|