Commit Graph
100 Commits
Author SHA1 Message Date
Ryan Fleury 01236ca3b9 make all view, core view rule, and gfx view rule names completely consistent, use the name as the unique key among all tables 2024-08-28 13:11:00 -07:00
Ryan Fleury 31810bb221 fix incorrect lifetime of cfg table trees 2024-08-28 12:01:19 -07:00
Ryan Fleury 22c4336375 finish trimming old view rule code; get 3d geometry viewer back in good shape and integrated as a full view 2024-08-28 11:36:44 -07:00
Ryan Fleury 5ff9e47f8a fix loading in transient views 2024-08-27 17:18:42 -07:00
Ryan Fleury d956f7a266 view rule table notes 2024-08-27 16:46:19 -07:00
Ryan Fleury 0c2502c89f partway through fixing regressions of color view rule 2024-08-27 16:35:15 -07:00
Ryan Fleury be93968c8d fix incorrect resource kind string table; fix incorrect usage of resource kind table when doing texture format lookups in bitmap view 2024-08-27 15:48:27 -07:00
Ryan Fleury 32ac4f10bb support loading overlay in transient views; fix incorrect transient view state caching when view parameters change 2024-08-27 15:23:19 -07:00
Ryan Fleury 59360f770c file drop support 2024-08-27 14:49:57 -07:00
Ryan Fleury 32fcc6d34c expand pending file view to actually analyze files a bit before picking appropriate viewer; for now just do code if text, memory if not 2024-08-27 14:27:14 -07:00
Ryan Fleury 645db07493 add memory view rule; adjust memory view to appropriately use eval parameterizations, so that it can be used as a view rule correctly 2024-08-27 13:47:38 -07:00
Ryan Fleury 4b75145ec0 only consider non-queried disassembly views in general-purpose find-code-locationp ath 2024-08-27 13:08:32 -07:00
Ryan Fleury e59e014b2b shift disassembly view to being usable as a view rule too; arbitrary disassembly view parameterization 2024-08-27 13:00:21 -07:00
Ryan Fleury 08652e8b0a cast view rule 2024-08-27 11:46:54 -07:00
Ryan Fleury 511e81b188 eliminate eval resolution stage; we can just use expr resolution stage for everything 2024-08-27 11:39:46 -07:00
Ryan Fleury 90273e7a2e bswap view rule 2024-08-27 11:37:27 -07:00
Ryan Fleury cf7b664ab2 bswap expression & ir 2024-08-27 11:35:45 -07:00
Ryan Fleury accc77e03e eliminate type resolution eval viz stage (can just be done via the expr resolution stage, which is more powerful); fix elements expansion for non-pointers 2024-08-27 11:17:05 -07:00
Ryan Fleury 5b29f0db47 new expr resolution eval visualization stage; use to implement array & slice view rules 2024-08-27 11:04:22 -07:00
Ryan Fleury a97c8bd070 fix new param tree generation; stop string viz for padding members; fix relative file path serialization in new cfg saving path 2024-08-27 09:13:28 -07:00
Ryan Fleury 6a8c110b83 remove old cursor/mark decls 2024-08-26 16:15:28 -07:00
Ryan Fleury c97c351508 move cursor/mark state out of being hardcoded in view, and into param tree 2024-08-26 16:13:50 -07:00
Ryan Fleury 567aea2b15 new view serialized/deserialized params storage 2024-08-26 15:55:12 -07:00
Ryan Fleury 895c4dd199 fix press detection in watch view canvases 2024-08-26 15:16:23 -07:00
Ryan Fleury 3691b59af3 set up system for per-view param tree mutations; fix duplicate param key serialization 2024-08-26 15:13:53 -07:00
Ryan Fleury ec16f59a1e fix incorrect usage of new ui events pump 2024-08-26 14:34:24 -07:00
Ryan Fleury c16e21db71 eliminate dead code 2024-08-26 14:27:51 -07:00
Ryan Fleury 1de57557b5 get off cfg node duplicates of mdesk trees; use md trees for params consistently across view rules, tabs, etc. 2024-08-26 14:26:23 -07:00
Ryan Fleury aed18eb71c eliminate string-from-state function for view specs - we will be doing everything via the cfg tree; clean up & fix view titles for all of the different visualizer circumstances; do general path for serializing cfg trees for each view 2024-08-26 11:26:34 -07:00
Ryan Fleury 14f617db85 begin eliminating separate hook system for view rule uis; shift over to regular views, so there is just one codepath for all visualizers; move ui to event pump system, with permissions stack, so that callers of sub-ui-codepaths can mask off event consumption as needed 2024-08-26 09:56:47 -07:00
Ryan Fleury 74471e4b8d fix tab title rules; fix watch keyboard navigation with new dynamic columns 2024-08-26 06:12:42 -07:00
Ryan Fleury 43eac9f332 add entity labels to macro map 2024-08-23 16:28:09 -07:00
Ryan Fleury 729a4aa1f9 first step to collapsing separate view parameterization path, and just having views be parameterized by evaluation strings 2024-08-23 16:17:19 -07:00
Ryan Fleury e395ef42a1 eval system syntax for opaque id evaluations 2024-08-23 14:45:48 -07:00
Ryan Fleury 8ae8e2f943 extend file streaming cache to support range-based file stream queries; begin plugging in file stream queries as alternative to ctrl stream queries; further bugfixes & unification in eval system 2024-08-23 12:29:52 -07:00
Ryan Fleury ff922fa087 fix expandability/block/row building for block ui view rules 2024-08-22 17:11:12 -07:00
Ryan Fleury 47462f4789 first pass at filesystem evaluation in eval system 2024-08-22 16:55:07 -07:00
Ryan Fleury 341f9c6cf7 introduce resolution qualifiers to evaluation syntax, to specifically denote resolution to registers, locals, types, etc., or file paths 2024-08-22 15:56:43 -07:00
Ryan Fleury b7cc2e8d93 entity evaluation committing; checkbox view rule; per-column view rules in watch views 2024-08-22 15:28:13 -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 a7cf64d5e2 extend watch view column parameterization; further progress on replacing entity views with watch views 2024-08-22 12:01:53 -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 1ec62b40ae reverse decision to show inheritance type prefix in member names, because I forgot that C++ STL / other codebase types are completely insane; go back to showing inheritance info as a tooltip 2024-08-21 11:24:52 -07:00
Ryan Fleury 70fa90bb87 fix incorrect os_window_first_paint rules 2024-08-20 17:07:59 -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 4611ddb536 eval value array indexing; type-only evaluation of array indexing and member accesses; various fixes 2024-08-20 16:13:01 -07:00
Ryan Fleury 156a94b286 string/char literal escaping in eval 2024-08-20 14:57:23 -07:00
Ryan Fleury b5b6f61811 fix various edge cases in visualizer paths 2024-08-20 14:48:25 -07:00
Ryan Fleury 67a719f2c6 fix parse error visualization; fix invalid cases in eval expression parser 2024-08-20 14:12:40 -07:00
Ryan Fleury c896d05afc relocate entity; fix incorrect eval mode for procedures view; fix incorrect evaluation of callstack frames in new callstack view 2024-08-20 13:53:54 -07:00
Ryan Fleury b44a5db97f further progress on cleaned up eval watch system; visual fixes/improvements in hover eval 2024-08-20 13:41:36 -07:00
Ryan Fleury 408b689245 eliminate old eval/eval-viz paths 2024-08-20 12:06:02 -07:00
Ryan Fleury 639239d758 convert all eval visualization paths to incrementally building expression trees, rather than using final eval bundles; ensure all evaluation paths, in various circumstances (single line viz, row viz), go through exactly the same path; deduplicate single-row-expr evaluation paths 2024-08-20 12:04:23 -07:00
Ryan Fleury be2daf570a checkpoint on eval / eval-viz simplification pass 2024-08-19 11:26:28 -07:00
Ryan Fleury 9f593f9971 callstack frame selection in watch views 2024-08-16 16:17:50 -07:00
Ryan Fleury 04b38eb405 more progress on new expanded watch path; mostly feature convergent for procedures & callstack 2024-08-16 15:28:16 -07:00
Ryan Fleury 2d1adaf932 watch view feature parity for error visualization 2024-08-16 13:00:02 -07:00
Ryan Fleury d749a5e965 progress on single path for building all cells in watch window, reaching feature parity with old watch windows 2024-08-16 12:49:35 -07:00
Ryan Fleury 25f30f6a72 begin pass to make watch view columns dynamic; will use to specialize watch views for the new expanded set of purposes it has 2024-08-16 11:49:10 -07:00
Ryan Fleury 6bdaf9b4df plug watch pins into new watch-driven ui 2024-08-15 15:12:58 -07:00
Ryan Fleury 82fcc9ed4d evaluate breakpoints in per-breakpoint space, rather than a top-level space for all of the debugger entities 2024-08-15 14:57:16 -07:00
Ryan Fleury 01cf3d39f1 further progress on using the upgraded eval system; sketch out replacement breakpoints & callstack views, which are just specializations of watch window 2024-08-15 14:34:47 -07:00
Ryan Fleury 8b5be64507 fix primary module selection in multi-process scenarios 2024-08-15 12:23:08 -07:00
Ryan Fleury 20bde07c46 fix ir generation for set-space opcode 2024-08-15 12:16:00 -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 ed75b253f7 notes on 'eval space'; first step to evaluating debugger-space things 2024-08-14 16:26:47 -07:00
Ryan Fleury 857bf44001 converge watch pin / breakpoint commands & mapping, without file entity structure 2024-08-14 15:41:18 -07:00
Ryan Fleury 94791e62ff eliminate old serialization/deserialization paths 2024-08-14 15:27:36 -07:00
Ryan Fleury 52f4474cc8 legacy config exe key for targets 2024-08-14 15:27:01 -07:00
Ryan Fleury 4a2aaf650a add legacy config deserialization paths, for old config files 2024-08-14 15:25:11 -07:00
Ryan Fleury bb9e5057d7 fix go-to-location path to adjust for no file entities; write single deserialization path for all entities, instead of handwritten special casedo nes 2024-08-14 15:08:48 -07:00
Ryan Fleury 33fe9ba485 formally support hresult codes as distinct from handles in debug info & visualization 2024-08-14 13:48:09 -07:00
Ryan Fleury a9f4a11c0a fix run-to-line and run-to-address for new breakpoint entity setup 2024-08-14 12:39:34 -07:00
Ryan Fleury afdb0e5b2e remove addr-mode assumption for string visualizing; eliminate entity deleted flag 2024-08-14 12:26:53 -07:00
Ryan Fleury 728120690d ptr/array-value comparison path in eval 2024-08-14 11:29:45 -07:00
Ryan Fleury 918895c091 small string evaluation; strings as values in eval 2024-08-14 10:49:56 -07:00
Ryan Fleury eac1672c4e begin sketching out eval paths for small string operations 2024-08-13 16:16:55 -07:00
Ryan Fleury 07c4e6ee87 evaluation compiler debug tooltip visualizer 2024-08-13 15:41:01 -07:00
Ryan Fleury c64d207d4d finish sketching out complex synthetic type construction; tear out unneeded leaf external evaluation (we can just use the macro map & separate address spaces); sketch out scaffolding for a thread evaluation type 2024-08-13 13:40:14 -07:00
Ryan Fleury a1605acb7b correct procedural struct/union byte size calculation in eval types 2024-08-13 13:07:13 -07:00
Ryan Fleury 0eff5aca06 extend constructed types in eval system to support procedural construction of structs/unions/enums; can be used for synthetic evals in debugger frontend & ctrl layer 2024-08-13 13:04:05 -07:00
Ryan Fleury 6d30455e76 further progress on eliminating file entities; further entity simplification; set up external identifier resolution map for evaluating 'meta' variables; sketch out generalized entity serialization path 2024-08-13 11:39:25 -07:00
Ryan Fleury 057d4d485e begin entity simplification pass; begin eliminating frontend file system entity cache; build new path-based file override systems, instead of relying on the entity tree 2024-08-12 17:06:59 -07:00
Ryan Fleury 86f45ce5e7 do not assume valid identifier maps if location info is not present 2024-08-12 09:26:44 -07:00
Ryan Fleury 77edf0d8da further progress on undo 2024-08-09 12:11:14 -07:00
Ryan Fleury e506d8389c strip out old undo/redo scaffolding 2024-08-09 10:19:29 -07:00
Ryan Fleury a541ca50d9 rdi_from_pdb: robustify to malformed/unexpected pdb characteristics; df: display errors with inline code better; eval: fix incorrect assumption of addr mode being required for member access operators 2024-08-09 09:27:18 -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 896f84369b ues correct unwound registers for eval context 2024-08-08 15:32:18 -07:00
Ryan Fleury 18237a1464 eliminate old architecture info tables 2024-08-07 16:48:20 -07:00
Ryan Fleury 6563cb9e2c split command lister-omission to being either included in ui lists, and included in lower level ipc driving documentation 2024-08-07 15:17:27 -07:00
Ryan Fleury 6a886e096e fix ternary operators in eval; fix incorrect oplist concatentation path 2024-08-07 13:10:41 -07:00
Ryan Fleury 607442b92a fix member lookup rules in new eval ir tree builder 2024-08-07 08:22:22 -07:00
Ryan Fleury fee31daa55 fix system processes lister 2024-08-06 15:08:41 -07:00
Ryan Fleury 44fb75228a fix incorrect symbol name font in symbol lister tooltips 2024-08-06 14:12:18 -07:00
Ryan Fleury ba095129e6 fix incorrect index space usage in debug-info-wide tables 2024-08-06 14:05:39 -07:00
Ryan Fleury a4978e75a3 eliminate separate helper for eval viz block list building 2024-08-06 14:01:30 -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