Commit Graph
100 Commits
Author SHA1 Message Date
Ryan Fleury e754380caa eval identifier resolution: allow implicitly mapping leaf identifiers to member accesses of overridden irtree 2025-04-11 15:02:54 -07:00
Ryan Fleury 2e8bca21f6 strip out only/omit - i think they are insufficient for long-term filtering stuff... 2025-04-11 14:41:15 -07:00
Ryan Fleury 3e49e92e98 only and omit; notes & dead code deletion 2025-04-11 14:16:48 -07:00
Ryan Fleury 83a31a5229 take out view rules from pins, since that is just in the expr itself now 2025-04-11 13:21:25 -07:00
Ryan Fleury abd33f7160 new (and successful :) ) story for 'parent/overridden irtrees'. basically, if we have a rule which maps some eval X's type from A -> B, we preserve the original ir-tree compilation of A in the 'history' when we inevitably produce the ir-tree compilation of B. this can be used for accesses on overridden evaluations, and it allows us to implement $ in auto view rules. 2025-04-11 11:58:43 -07:00
Ryan Fleury 9622bc8808 fix calls to parent tree experiment 2025-04-11 11:26:01 -07:00
Ryan Fleury b60329c817 eliminate view rule column; eliminate 'parent irtree' experiment, need to do something else 2025-04-11 11:25:16 -07:00
Ryan Fleury 59df09b39b re-enable auto view rules in mule 2025-04-10 16:53:36 -07:00
Ryan Fleury 297c576623 irtree parent experiment (failed) 2025-04-10 16:20:52 -07:00
Ryan Fleury b7e12f900c eliminate dead code 2025-04-10 15:19:58 -07:00
Ryan Fleury 0dd0f1b8bc rephrase type irgen hook -> irext, to eliminate cases where it'd be very easy to accidentally cause infinite recursion of ir generation (e.g. slice(x) requiring evaluation of 'lhs.count', where lhs == slice(x)). also bring back slice hooks 2025-04-10 15:19:29 -07:00
Ryan Fleury 4a69b8e57a type decoration to explicitly disable string visualization; use in registers & padding members; eliminate dead code 2025-04-10 14:29:58 -07:00
Ryan Fleury c05c21cfa4 lens inheritance-on-expansion, composability with lens types & accesses (dot operator, array index operator), plugging in visualizers, killing dead code, etc. 2025-04-10 14:29:58 -07:00
Ryan Fleury d15f9af4b7 fix incorrect signal of error on meta-ctrl-entity eval space write 2025-04-10 14:29:58 -07:00
Ryan Fleury 8dd8eaa507 more work on lens-wrapped expressions composability w/ default expansions, operators, etc. 2025-04-10 14:29:58 -07:00
Ryan Fleury c9e55cacf5 fix root-level block -> row expansion 2025-04-10 14:29:57 -07:00
Ryan Fleury c7a3a73b63 fix incorrect story for chained lens calls; fix possibly-overridden usage of lens calls in ui build 2025-04-10 14:29:57 -07:00
Ryan Fleury fbe747a8b4 further work on convergence, dead code elimination, and lens (view rule) calls 2025-04-10 14:29:57 -07:00
Ryan Fleury cde079a14d checkpoint in moving to new type-based view rule / synthetic structure hooks 2025-04-10 14:29:57 -07:00
Ryan Fleury ac65d7fc34 fix incorrect type info generation of schema'd evaluations 2025-04-10 14:29:57 -07:00
Ryan Fleury c938a6fcfa next checkpoint; eval/type-hooks for registers, locals, files/folders, cfgs 2025-04-10 14:29:57 -07:00
Ryan Fleury d3f0a9a672 checkpoint in moving from old lookup hooks -> new type hooks; elimination of unnecessary recomputation of ir-trees/evals, just use information in already-computed evals 2025-04-10 14:29:56 -07:00
Ryan Fleury fbd78525d2 sketch out new eval type-system-defined hooks for all eval-layer view rules; accesses (., [] operators), expansion ranges, id <-> num mapping 2025-04-10 14:29:56 -07:00
Ryan Fleury 7c0a37fef3 boil down expr/irtree/type -> lookup_rule mapping more - since lens arguments are now stored in type info, we no longer need other ways of smuggling through expression trees. also fill out new path of pointer eval single-line string generation. 2025-04-10 14:29:56 -07:00
Ryan Fleury 9bfa4f87e3 work on new eval-viz layer stringification which factors out measurement/limiting/etc., but just walks an eval tree and stringifies each part; start working on new types <-> lookup-rule stuff 2025-04-10 14:29:56 -07:00
Ryan Fleury b1f17b217c checkpoint - extend constructed types w/ expression arguments, new 'lens' type operator, which can wrap evaluations of other types, + provide a name/args. e.g., bitmap(256, 256) <- (uint8 *), as a well-formed type. this also is the first step to collapsing all 'expression introspection' paths, and making sure they all compose properly. 2025-04-10 14:29:56 -07:00
Ryan Fleury 97a1003d85 eliminate old incorrect auto-hook of ctrl entity type keys; was busting visualization of ctrl entities 2025-04-10 14:29:56 -07:00
Ryan Fleury 84e16b81ff automatically mark up entry_point as exe entry points, for codebase builds 2025-04-10 14:29:55 -07:00
Ryan Fleury da69d9e91c more progress on new eval/view-rule integration; raddbg_entry_point markup feature 2025-04-10 14:29:55 -07:00
Ryan Fleury ecb3992b93 eval stability tests in tester; tear out last pass' view rule extensions 2025-04-10 14:29:55 -07:00
Ryan Fleury 710828c67d checkpoint in switching to new call-style of view rules for everything 2025-04-10 14:29:55 -07:00
Ryan Fleury 0705ba0a96 begin plugging in view rules as formal call part of expression language 2025-04-07 08:01:33 -07:00
Ryan Fleury ca7f20e394 detect window resizes as a layout-reset correctly 2025-04-02 15:55:50 -07:00
Ryan Fleury 95df14bc20 eliminate old short-circuit from leaf-numeric expr tree generation path 2025-04-02 15:25:14 -07:00
Ryan Fleury c6add5f8f0 fix incorrect type name short-circuit check 2025-04-02 15:12:32 -07:00
Ryan Fleury 9bf69afd0b eval: procedure, type, thread-variable name mapping; sketch out implicit member access path 2025-04-02 15:07:35 -07:00
Ryan Fleury 33de625373 eval: register, register alias name mapping in new name resolution pass 2025-04-02 14:56:53 -07:00
Ryan Fleury 9146594ff9 eval: global name resolution in new ir-stage name resolution path 2025-04-02 14:39:38 -07:00
Ryan Fleury 6113a2e3db eval: do simplification pass over identifier resolution, shift from parsing stage -> ir generation / typechecking stage; do simplifications over expr tree, eliminate redundant kinds 2025-04-02 14:30:12 -07:00
Ryan Fleury b2ae4d89d7 eval: re-slice helper map data structures -> core 2025-04-02 11:08:27 -07:00
Ryan Fleury 190b74f411 shift first-class basic type names to more widely-used names (int32 instead of S32, etc.); force match of any debugger-known basic type name -> key, do not settle for bogus aliases from debug info 2025-04-01 16:04:57 -07:00
Ryan Fleury bca5169447 eliminate manual console creation & needs-console detection; use user-error mechanism for process creation failure 2025-03-31 16:38:18 -07:00
Ryan Fleury 999eca5e29 more old eval trimming 2025-03-31 15:41:10 -07:00
Ryan Fleury a5d6e8a335 make eval ctxs more robust to missing info, e.g. in the test harness case 2025-03-31 13:48:19 -07:00
Ryan Fleury 17ff4da9bf more eval scratch work 2025-03-31 13:09:30 -07:00
Ryan Fleury fbe0d3bc2e set up eval scratch; promote raddbg_markup to base layer, plug in custom codebase vsnprintf 2025-03-31 11:41:14 -07:00
Ryan Fleury 1adf280354 delete dead code in eval 2025-03-31 11:02:17 -07:00
Ryan Fleury 833bee35e3 sketch out new auto view rules for new expression language idea 2025-03-28 15:50:19 -07:00
Ryan Fleury 5eb9f2f886 big notes/todos/release-notes pass 2025-03-28 12:21:18 -07:00
Ryan Fleury 160083835a add std::vector / auto-view-rule test to mule 2025-03-28 11:38:56 -07:00
Ryan Fleury 269efba455 fix treatment of floats in thread color rgba macro in raddbg_markup 2025-03-28 11:04:37 -07:00
Ryan Fleury 3911a66b30 fill out first pass implementations of raddbg_markup features; thread names, thread colors, format-string output-debug-string helper, attachment-checking 2025-03-28 10:56:41 -07:00
Ryan Fleury da3c15c7ed short-circuit rule lookups if explicit default is found 2025-03-27 15:41:47 -07:00
Ryan Fleury dc967f5274 fix treatment of 0-terminator in raddbg data section, fix encoding of auto view rules in raddbg data section 2025-03-26 16:28:13 -07:00
Ryan Fleury b154c5a120 use slightly looser mapping for auto-view-rules, to not generate false negatives when looking up 2025-03-26 14:57:58 -07:00
Ryan Fleury 03cbbac6d7 source-markup-defined auto-view-rules 2025-03-26 13:45:26 -07:00
Ryan Fleury 48f0702e05 fix source markup parsing, release notes for source-defined watch annotations 2025-03-26 11:49:15 -07:00
Ryan Fleury bd35ea83fc support for raddbg_pin markup on-the-fly watch pin annotations 2025-03-26 11:38:32 -07:00
Ryan Fleury 29d430ca6c dial back use of hand hover cursor 2025-03-26 10:00:49 -07:00
Ryan Fleury 42e888d41e fix breakpad converter build 2025-03-25 16:57:33 -07:00
Ryan Fleury ab9885bc7d fix clang build 2025-03-25 16:54:12 -07:00
Ryan Fleury 213091cf75 add safeguard to not overwrite old config data, for anyone using dev currently... 2025-03-25 16:40:52 -07:00
Ryan Fleury a826afd4d6 merge part 2 2025-03-25 16:30:05 -07:00
Ryan Fleury c4f4b5ff01 merge 2025-03-25 16:21:51 -07:00
Ryan Fleury 4787a183e3 fix consistency issues 2025-03-25 16:06:13 -07:00
Ryan Fleury 8ba44295c6 more aggressively gc hover eval view state; do not use hotkey intermediate if a command triggered by a watch window is already parameterized 2025-03-25 15:17:56 -07:00
Ryan Fleury af9ddf0a48 eliminate old entity -> eval blob paths / cache 2025-03-25 14:57:06 -07:00
Ryan Fleury aff63db8eb ctrl entity meta evaluation, hook up reads/writes, get off eval blobs; switch freeze/thaw ui to working on 'active' child, plugs into usual toggle path 2025-03-25 14:56:21 -07:00
Ryan Fleury 974ce5fa59 eliminate rule to associate set names with expand rules / visualizers; this is really only a rule we want for the core eval lookup hooks 2025-03-25 14:13:59 -07:00
Ryan Fleury ef1685adc9 pass over cfg meta evaluations; instead of forming artificial 'eval blob', just use sets/queries/hooks to do the lookups. eliminate cfg -> eval blob cache. switch to 'enabled' rather than 'disabled' as the cfg default. more convergences/fixes/tweaks. 2025-03-25 13:49:59 -07:00
Ryan Fleury 87e4b8b3f8 adjust toggle_switch 2025-03-24 15:48:44 -07:00
Ryan Fleury 2d7a8740bf adjust toggle switch rules 2025-03-24 15:04:54 -07:00
Ryan Fleury 4f2eb2ebe2 pass over cell line edit; toggle-switches for editable boolean types 2025-03-24 14:56:41 -07:00
Ryan Fleury 93584ba2ba convergence, enum member name evaluation fixes, visual fixes/tweaks 2025-03-24 13:17:10 -07:00
Ryan Fleury 02322191fe fix drag/drop of immediate views, fix disallowance of [ or { in mdesk tags, other various convergences/fixes 2025-03-21 17:18:16 -07:00
Ryan Fleury c2bebf2a53 snap to thread on stop on all windows, not just focused 2025-03-21 14:30:29 -07:00
Ryan Fleury c70132cd37 never mind --- this conflicts badly with stable version! 2025-03-21 11:51:52 -07:00
Ryan Fleury 1cef39d0a3 bump encoding version to match dev 2025-03-21 11:42:02 -07:00
Ryan Fleury 6f3c14c423 fix misusage of disabled schema 2025-03-20 16:17:12 -07:00
Ryan Fleury 5596f1c8a3 more convergence, fixes, use new tab options mechanism to allow disabling line numbers in text/disasm 2025-03-20 16:00:23 -07:00
Ryan Fleury e2bfecc384 further work on rich hover vs. hover eval vs. ctx menu arrangements; it's a bit too noisy/annoying when hover eval for breakpoints/threads/etc. is just turned on all the time, and now that we have the ability to hover-eval-style query views, because of tabs, we can just do that with breakpoints etc. too. the old rich hover tooltips / highlights / etc. can then just be used normally. also put in some mechanisms to block rich hover tooltips when it is strictly redundant information. 2025-03-20 15:01:40 -07:00
Ryan Fleury 43d8fd4886 query watch windows progress; hook up visualizer schemas to cfg evaluator, use in tab query watch 2025-03-20 14:26:09 -07:00
Ryan Fleury f5683b0f3d convergence - source view switching commands 2025-03-20 10:09:06 -07:00
Ryan Fleury 1ffb8a082e sketch out first several 0.9.16 release notes 2025-03-20 09:19:27 -07:00
Ryan Fleury 8df16b8508 fix ctx menu closing escape consumption rules; fix top bar prioritization rules 2025-03-19 16:42:14 -07:00
Ryan Fleury b9ed7b3f0f fix menu bar focus rules breaking when hover eval focused 2025-03-19 16:22:42 -07:00
Ryan Fleury 4316325b33 demon win32: only alloc console when launching target if the exe is not a windows gui pe subsystem 2025-03-19 16:08:29 -07:00
Ryan Fleury d3e25567ac convergence on listers / visual fixes 2025-03-19 15:30:47 -07:00
Ryan Fleury 7d4d8762b7 collapse query/hover-eval building paths into single floating-view-build path 2025-03-19 10:30:50 -07:00
Ryan Fleury eaa3711405 dead code elimination / small fixes in collection query eval 2025-03-19 06:31:18 -07:00
Ryan Fleury 6a44f6485d eliminate old and now unused parts of hover eval state 2025-03-18 16:30:14 -07:00
Ryan Fleury 9c763c4554 fix open-recent-project according to recent_project schema 2025-03-17 07:13:52 -07:00
Ryan Fleury 41a252e563 notes on low-priority odd edge-case behavior 2025-03-15 11:42:20 -07:00
Ryan Fleury a4888055e2 better disabled/conditional rendering of breakpoints 2025-03-14 21:16:19 -07:00
Ryan Fleury cb6a66b98d member filtering, better visualization for selection state in targets/bps/threads/etc. 2025-03-14 13:27:26 -07:00
Ryan Fleury 24ddab0db2 fix slice view rule to apply correctly to pointers/refs->structs too 2025-03-14 12:41:48 -07:00
Ryan Fleury 41aa23b71b work on hover eval visualizers; skip watch window level if all we're doing is spawning a visualizer at the top-level; more convergence / cleanup / fixes 2025-03-14 09:54:48 -07:00
Ryan Fleury c331133388 adjust hash store - first, don't keep strong refcounts for key history past the 2nd hash - this is prohibitively expensive. but, keep 'downstream' refcounts - this is a mechanism which downstream caches (e.g. text visualization info parsing etc.) can use to ensure a hash stays held in the hash store, given some other data's dependence on it - this stops the storing of unnecessary OutputDebugString log copies 2025-03-13 14:02:06 -07:00
Ryan Fleury d10547d2c0 don't assume offset evaluation mode in array dereferences; could apply to type info too, thus null mode; fix visualizer drag/drop causing close of hover eval, invalidating the dragged view too early; fix close-window not exiting if last window 2025-03-13 08:30:16 -07:00
Ryan Fleury 33326a8fa6 fix breakpad converter build 2025-02-23 14:18:12 -08:00