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 |
|
Ryan Fleury
|
967936cef6
|
pass over rules in picking step-into entry point. right now we don't exactly have a trivial way of checking if an entry point truly was defined by a user. but if line info exists, and the file seems local, and there is a procedure name for an EXE's built-in entry point address, then we can at least guarantee that there is source for the entry point, and thus can serve as an acceptable entry point. this currently does not take into account cases where the OBJ path is not local, but the user overrides the file paths to have source. if the entry point is determined to be non-user-defined, then everything falls back to the usual paths - try WinMain, WinMainCRTStartup, etc., and then override with explicit custom entry points if needed. not great, currently, w.r.t. detecting if the entry point is in user code. maybe can check more info in the unit later...
|
2024-01-26 20:37:36 -08:00 |
|
Ryan Fleury
|
04b5b362bc
|
fix deadlock in launch_and_init - don't hold dbgi scopes open too aggressively, as we may need to eliminate dbgi which they refer to.
|
2024-01-26 19:04:30 -08:00 |
|
Ryan Fleury
|
207e46c8e8
|
prefer exe header's default entry point if it doesn't match expected defaults
|
2024-01-26 13:59:17 -08:00 |
|
Ryan Fleury
|
168f66cc99
|
further progress on new process memory cache; first pass at visualizing changed watch window rows, based on ctrl process memory cache history
|
2024-01-25 11:17:16 -08:00 |
|
Ryan Fleury
|
38b113f1d0
|
simplify & consolidate ctrl layer process memory caching mechanisms - move all non-necessarily-synchronous caching to background memory streaming thread cache
|
2024-01-25 10:04:03 -08:00 |
|
Ryan Fleury
|
b14b9f0344
|
strip out ctrl process memory cache fresh flags & hash history, since both will be replaced by hash store layer's capabilities
|
2024-01-25 09:09:36 -08:00 |
|
Ryan Fleury
|
d0c3d9dc21
|
extend ctrl process memory cache reads with freshness info - it is a bit too coarse grained at page granularity, that should've been easy to predict... in any case, to start addressing that, start keeping >1 hash key hash history in hash store layer, such that history may be preserved for a bit longer & diff'd with new key hashes
|
2024-01-25 09:06:03 -08:00 |
|
Ryan Fleury
|
7cf0854178
|
reimplement run-to-line and run-to-address with temporary user breakpoints which die-on-stop, which provides the desired flow for e.g. run-to-line while nothing runs
|
2024-01-25 07:07:22 -08:00 |
|
Ryan Fleury
|
2c8e17be3b
|
communicate ctrl -> df start/stop events on launch (as well as normal runs) - prohibit demoting high-level step operations into launches if targets are running, but no process creation events have been identified yet
|
2024-01-23 15:23:51 -08:00 |
|
Ryan Fleury
|
6a7dd334ff
|
d3d11 debug layer exceptions; decimal enum displays; local time display in filesystem lister
|
2024-01-19 18:42:05 -08:00 |
|
Ryan Fleury
|
42993b3fb0
|
silently filter access violations in asan's shadow address space
|
2024-01-19 17:47:56 -08:00 |
|
Ryan Fleury
|
c2d315d896
|
register value committing; eliminate manual 'invalidation' controls for frontend caches, rely on memgen/reggen/run idxs from ctrl thread, which can be incremented solely at the ctrl thread's discretion
|
2024-01-19 12:17:42 -08:00 |
|
Ryan Fleury
|
d2d72bd7ab
|
ctrl: eliminate possibility of threads getting stuck at spoof address at the event-pump layer - if we report other events first, the step is already cancelled anyways
|
2024-01-17 20:58:55 -08:00 |
|
Ryan Fleury
|
dea5e88906
|
also look for wmainCRTStartup
|
2024-01-17 17:07:16 -08:00 |
|
Ryan Fleury
|
25c31b0d77
|
look for mainCRTStartup as one additional possibility of a default entry point
|
2024-01-17 17:01:25 -08:00 |
|
Ryan Fleury
|
2078af15f9
|
mc -> mdesk; I do not know what Monkey C is
|
2024-01-12 19:22:11 -08:00 |
|
Ryan Fleury
|
e40c980d83
|
re-ensure codebase c compatibility
|
2024-01-12 13:29:50 -08:00 |
|
Ryan Fleury
|
e7243a2c28
|
GetThreadDescription (win 10+ thread name) API support
|
2024-01-11 16:02:27 -08:00 |
|
Ryan Fleury
|
a42ec6aeff
|
initial upload
|
2024-01-10 19:57:50 -08:00 |
|