Commit Graph
100 Commits
Author SHA1 Message Date
Ryan Fleury eec124c53b eliminate old text searching thread code 2024-03-29 11:28:45 -07:00
Ryan Fleury 8c5c0be040 ui: further improvements to double/triple dragging detection; df: use double/triple dragging to determine mouse-drag-range. dbl -> use token range, triple -> use line. pick appropriate side of mouse drag range on drag based on side of mark. 2024-03-29 11:17:01 -07:00
Ryan Fleury 2842901f9c ui: extend box->signal path with double-drag, triple-drag info 2024-03-29 10:58:05 -07:00
Ryan Fleury 6eb8e37d4d default to hexadecimal radix in register-mode hover-evaluations 2024-03-29 10:42:14 -07:00
Ryan Fleury 7496f3b8cc dont over-ambitiously respond to exceptions/errors on kill/detach 2024-03-29 10:22:06 -07:00
Ryan Fleury 7c3fabfc39 wchar test in mule_main 2024-03-29 10:13:29 -07:00
Ryan Fleury 4b3941c17f sketch out non-utf8 string visualization in frontend eval paths; simple retry mechanism for large memory reads that may fail across page boundaries in ctrl process memory cache 2024-03-29 10:09:57 -07:00
Ryan Fleury 60030b298b bitfield support in address mode -> value mode evaluation path 2024-03-29 09:51:38 -07:00
Ryan Fleury 60e1f105e4 raddbgi: correctly encode bitfields; type_graph: correctly stringify bitfield types 2024-03-29 09:22:13 -07:00
Ryan Fleury d9675f2565 allow assembly-style dereferences in eval parser; register/register-alias syntax highlighting 2024-03-29 08:52:46 -07:00
Ryan Fleury 7c7b44e940 attempt to auto-resolve numeric evaluations into addresses in frontend eval path 2024-03-29 08:52:45 -07:00
Ryan Fleury 5aa8aa1c66 fix expandability rules for function pointer types; identifiers -> keywords in disassembly 2024-03-28 19:56:33 -07:00
Ryan Fleury 7f50beae2a notes 2024-03-28 15:40:28 -07:00
Ryan Fleury 3931edb3f1 notes 2024-03-28 15:21:25 -07:00
Ryan Fleury 1904d4ca0d support copy from disasm (finally) 2024-03-28 15:19:25 -07:00
Ryan Fleury 0ead1c034c eliminate old dasm layer, since we're all caught up with dasm_cache 2024-03-28 14:58:25 -07:00
Ryan Fleury 09f74805e0 restore old demon layer linux implementation, to not have to seek back in version control to find it when porting 2024-03-28 14:54:52 -07:00
Ryan Fleury f75ae9eb4a transition disassembly command processing paths to dasm cache 2024-03-28 14:53:38 -07:00
Ryan Fleury 2f5cc748d8 use disasm style parameters in dasm_cache disassembly path 2024-03-28 14:42:56 -07:00
Ryan Fleury 614b9bc537 extend dasm cache with style parameters; switch over primary disassembly ui path to dasm cache 2024-03-28 14:38:35 -07:00
Ryan Fleury bcbb4142cf plug in x64 intel-syntax disassembly 'language' into text analysis cache layer, to use that layer to naturally do parser/highlighter work for disassembly 2024-03-28 12:01:14 -07:00
Ryan Fleury d3570e8147 further progress on disassembly cache; instead of caching the text via the disassembly cache, simply submit into the hash store; this allows the disassembly cache to be composed with other caches, like the text analysis cache. + plug this system into the disassembly view rule, so now we can disassemble arbitrary pointers in the watch window 2024-03-28 11:36:57 -07:00
Ryan Fleury c91cd69536 first pass at new hash-store-based disassembly cache layer; can serve as a general-purpose asynchronous disassembly visualization cache layer, regardless of where that data ultimately comes from - can click into a file, process memory cache, etc. 2024-03-28 10:57:34 -07:00
Ryan Fleury f46691d79a dasm -> dasmi; make room for new dasm_cache layer 2024-03-28 09:45:41 -07:00
Ryan Fleury dbb0c1e0a4 file_stream: solidify retry mechanism; df: multiline controls for text_cache-based info, begin porting over txti-based systems 2024-03-28 09:36:09 -07:00
Ryan Fleury 96ff5efe7c allow delete/rename access on exe/debug handles 2024-03-28 08:54:08 -07:00
Ryan Fleury a14d0f5b18 rewire up target colors with processes/modules/threads; use first module path for correllation rather than entities & id correllation 2024-03-27 15:25:27 -07:00
Ryan Fleury 22185cee5f eliminate stuck-step disabling hack 2024-03-27 14:36:11 -07:00
Ryan Fleury 1da92b8dbc store per-launch entry points in ctrl entity store; use to later correllate PIDs to custom entry points in run path 2024-03-27 14:24:06 -07:00
Ryan Fleury 291bf3875d eliminate launch-and-init path, switch fully to separate 'launch' and 'run' paths; snap to selected thread if no stopper thread on stopped events; 2024-03-27 14:09:29 -07:00
Ryan Fleury ee056aa45d collapse user bp gathering helper, used only once 2024-03-27 12:29:45 -07:00
Ryan Fleury 53163f3610 ctrl: kill launch_and_handshake; begin extending run to be usable for launch-and-init and launch-and-run operations 2024-03-27 12:26:15 -07:00
Ryan Fleury 4899f1871b correctly close module file handles on module unloading in new demon layer 2024-03-27 11:19:24 -07:00
Ryan Fleury d73a3d4196 plug txt-layer-provided tokens into text view rule - both source code & text view rule are now completely powered via the txt visualization layer, rather than the special-purpose txti layer, which is now being retired 2024-03-26 16:47:15 -07:00
Ryan Fleury 4272258f99 txti -> txt; checkpoint #5 2024-03-26 16:38:12 -07:00
Ryan Fleury 8792c2280c txti -> txt; checkpoint #4 2024-03-26 16:26:31 -07:00
Ryan Fleury 88798e4453 txti -> txt; checkpoint #3 2024-03-26 16:04:21 -07:00
Ryan Fleury e80c69cb8f txti -> txt; checkpoint #2 2024-03-26 16:00:43 -07:00
Ryan Fleury 40ed36df3f txti -> txt; checkpoint #1 2024-03-26 15:31:39 -07:00
Ryan Fleury 88b692c840 eliminate fallback cache in text cache layer; we can use the hash store layer to rewind 2024-03-26 12:11:00 -07:00
Ryan Fleury 9dc484858a eliminate geo cache fallback key/hash cache; we can just use the hash store to rewind 2024-03-26 11:59:54 -07:00
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 7cf8da0b43 eliminate fallback key/hash pair cache in texture cache layer; we can rely on rewinding purely via the hash store layer 2024-03-26 11:50:44 -07:00
Ryan Fleury 4027338a2f adjust stripe counts 2024-03-26 11:30:47 -07:00
Ryan Fleury 4bc82db69e deduplicate txti/text_cache language stuff; port over odin lexing 2024-03-26 11:00:37 -07:00
Ryan Fleury ca6e75d466 allow c++14 digit separators in c/c++ lexing 2024-03-26 10:42:46 -07:00
Ryan Fleury 6393766f82 deduplicate txti/txt layer lexing 2024-03-26 10:31:20 -07:00
Ryan Fleury 206d48b363 notes 2024-03-25 15:47:34 -07:00
Ryan Fleury f561abfd63 show stopper-thread exception-info on entity tooltips, when applicable 2024-03-25 15:43:00 -07:00
Ryan Fleury 6d1c0d9f6d louder & more informative exception info viz 2024-03-25 15:37:31 -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 e5df25b314 use stderr-based fatal crash reporting, rather than windows gui, with programs built as console interfaces rather than guis 2024-03-25 13:24:00 -07:00
Ryan Fleury 23c1ea0e68 ui: if only one view scroll axis is specified on a box, always use scroll info to fill it, regardless of which axis that scroll took place on 2024-03-25 13:02:17 -07:00
Ryan Fleury aa85b2cdbb correctly pass unicode environments to launched child processes; also treat unicode command line arguments correctly 2024-03-25 12:57:00 -07:00
Ryan Fleury e136a67535 demon/win32: correctly report exception repetitions for unhandled exception cases 2024-03-25 11:00:00 -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 995804cc78 demon2 -> demon; eliminate original demon layer 2024-03-22 16:33:48 -07:00
Ryan Fleury c9df04ca60 merge 2024-03-22 16:31:05 -07:00
Ryan Fleury 71f3d18bf7 notes 2024-03-22 16:30:04 -07:00
Ryan Fleury 928532f386 do not attempt to refresh tls base calculation cache, if targets running 2024-03-22 16:29:50 -07:00
Ryan Fleury 7cd524d39d fix tls base calculation in demon2 2024-03-22 16:19:35 -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 07bbf1b43c organize demon2 by thread api 2024-03-22 15:15:33 -07:00
Ryan Fleury ca01e66ea2 plug in tls root vaddr path 2024-03-22 14:12:40 -07:00
Ryan Fleury 14ac7141e7 double buffer member cache 2024-03-22 13:53:14 -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 a694a77eba fix halting, unattached running, and caching generations in demon2 2024-03-21 16:49:34 -07:00
Ryan Fleury 54677e05ec fix incorrect metagen pointer comparisons 2024-03-21 16:21:17 -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 c2709d78b8 dont over-ambitiously consider the unwind cache up-to-date if some thread unwinds failed 2024-03-17 12:21:57 -07:00
Ryan Fleury 1269b93588 fix unchecked zero pointers in bake string map joining task, when zero pointers are legal 2024-03-17 12:17:22 -07:00
Ryan Fleury 14d3037aec raddbgi_breakpad_from_pdb: add a few missing null checks for edge cases 2024-03-17 12:17:22 -07:00
Ryan Fleury fbf4cce0e7 make tpi hash parsing gracefully exit on empty input data 2024-03-17 12:17:21 -07:00
Ryan Fleury d3cdb97a4e notes 2024-03-17 12:16:40 -07:00
Ryan Fleury 808d26684e fix unchecked zero pointers in bake string map joining task, when zero pointers are legal 2024-03-15 14:16:30 -07:00
Ryan Fleury 8f0e39024f fix additional demon2 typo 2024-03-14 21:24:12 -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 22e6352056 raddbgi_breakpad_from_pdb: add a few missing null checks for edge cases 2024-03-13 15:25:05 -07:00
Ryan Fleury 2fff68cfcf make tpi hash parsing gracefully exit on empty input data 2024-03-13 15:10:39 -07:00
Ryan Fleury 936c6149e3 remove timeout on thread register cache accessor 2024-03-12 16:35:43 -07:00
Ryan Fleury c417f15912 fix task entry points in breakpad converter 2024-03-12 16:01:30 -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 90d9f3b7c2 fix task entry points in breakpad converter 2024-03-12 09:05:00 -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 e25364a835 strip out some unnecessary apis from the demon layer, since we'll be doing per-entity caching in ctrl and keep demon as close to a thin abstraction as possible 2024-03-05 14:55:49 -08:00