Ryan Fleury
9504946376
entity view filtering
2024-02-05 12:08:50 -08:00
Ryan Fleury
e03e1dd136
eval lexer: same as last
2024-02-05 11:28:29 -08:00
Ryan Fleury
0b6b0947ed
eval lexer: allow a few more corner cases of various compiler/linker-inserted identifiers, so that eval works in all cases
2024-02-05 11:26:37 -08:00
Ryan Fleury
38b8bfd6fb
fix ordering of event consumption w/ filter box
2024-02-05 11:24:31 -08:00
Ryan Fleury
87e0e9a7e9
bugfix truncated string hover rule
2024-02-05 11:19:34 -08:00
Ryan Fleury
6e874c7449
syschar -> defwindowproc
2024-02-05 11:07:36 -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
f2c74cbcb2
float mousemove detection & ui mouse position rules down to ui core layer
2024-02-05 09:29:50 -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
0be4680ec9
os_gfx -> report mouse move events; still allow passive mouse interaction if window is unfocused, but have recently received mousemove events
2024-02-03 18:04:21 -08:00
Ryan Fleury
985a6f37e9
notes
2024-02-03 17:37:39 -08:00
Ryan Fleury
f9e2aa99a9
fix padding calculation - prohibit all overlapping members
2024-02-03 09:56:24 -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
647558b140
fix plural language in singular scenarios
2024-02-02 17:28:22 -08:00
Ryan Fleury
cbe842c5ec
dont do padding members for unions, oops
2024-02-02 17:15:55 -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
36d749ddb5
slightly stronger padding visualization
2024-02-02 16:46:54 -08:00
Ryan Fleury
7e589e8cd2
padding visualization
2024-02-02 16:42:08 -08:00
Ryan Fleury
708517a668
move fuzzy range match visualization into formal ui rendering path; write dedicated truncated fuzzy match rendering path; fixes some visual bugs & makes all fuzzy range match visualization consistent and not ad-hoc
2024-02-02 15:35:44 -08:00
Ryan Fleury
876d9338fc
auto-close universal ctx menus when entities/tabs invalidate; some visual fixes
2024-02-02 14:13:00 -08:00
Ryan Fleury
6897c0bb57
only show mid-row cache line boundaries when unexpanded, since the expansion will show more precise info
2024-02-02 12:53:34 -08:00
Ryan Fleury
15e239a0dc
cache line boundary visualization
2024-02-02 12:47:51 -08:00
Ryan Fleury
5d3aa301f0
enum type evaluation visualization - can now use watch windows to inspect all possible enum values
2024-02-02 11:50:21 -08:00
Ryan Fleury
847749337b
eval parser: more coverage for c++-compiler-generated & various C++-style identifier names
2024-02-02 11:33:06 -08:00
Ryan Fleury
542753ddcc
deduplicate editability/expandability determination path for viz row build
2024-02-02 11:12:20 -08:00
Ryan Fleury
9d8efa3a44
deduplicate common parts of viz row building
2024-02-02 11:03:14 -08:00
Ryan Fleury
410a340a09
oops -> carry over dbgi target with viz block splits
2024-02-02 10:13:39 -08:00
Ryan Fleury
8958b414e2
properly parameterize viz block & viz row building paths based on dbgi table target
2024-02-02 10:09:30 -08:00
Ryan Fleury
ac895a85eb
eliminate old eval watch view code
2024-02-02 09:30:22 -08:00
Ryan Fleury
ad57a0d3e8
stop following expansion nodes at the first non-expanded one, when converting watch view selection coords when ancestor has been collapsed
2024-02-02 09:28:15 -08:00
Ryan Fleury
20ff4acecc
simplify/collapse/deduplicate eval viz block building code; correctly build filtered-info-table-sorted expansions for filtered debug info table watches; eliminate special-case empty row in watch views, just feed everything through the viz blocks path
2024-02-01 17:05:08 -08:00
Ryan Fleury
be4c52b7ef
first part of collapsing globals/types/threadlocals path into being single viz block building path; more filtering ui work
2024-02-01 13:54:34 -08:00
Ryan Fleury
6740520bbe
straighten out table coordinates <-> viz block coordinate space mappings, since search-backed tables no longer can assume those two things are the same; clang -> o2; fix clang build
2024-02-01 13:21:07 -08:00
Ryan Fleury
28fdd791ae
extend eval viz blocks & windowed row build path with optional member info - use to extend watch type info visualization with size/offset information
2024-02-01 10:59:55 -08:00
Martins Mozeiko
d6608adf60
make msvc release build much faster
...
cl.exe for some reason spends unreasonable amount of time optimizing
df_window_update_and_render function, we can use pragma to skip
optimization for this function
2024-02-01 09:53:14 -08:00
Ryan Fleury
45b59e4cc4
apply fuzzy filtering correctly to globals/thread-locals/types views
2024-01-31 15:06:20 -08:00
Ryan Fleury
02979ba26c
first pass at equipping frontend line edit with fuzzy match range visualization; shift new debug-info-range viz block -> viz row path to using a backing filtered item array to map the abstract index space into the debug info table spaces
2024-01-31 14:54:49 -08:00
Ryan Fleury
f3f0e2a697
plug in basic, half-finished filtering functionality to watch/locals/registers/types/globals/threadlocals views
2024-01-31 14:35:14 -08:00
Ryan Fleury
630272ec37
expand dbgi asynchronous fuzzy matching system to allow selection of target table; this allows asynchronous fuzzy matching over types, globals, thread locals, and procedures
2024-01-31 14:22:12 -08:00
Ryan Fleury
41b853b874
simplify fuzzy matching path to a single query
2024-01-31 14:07:16 -08:00
Ryan Fleury
071ff82673
introduce general-purpose filtering path for tabs; control whether or not it is enabled via view spec flags. + feature flags for automatically bring up filtering box when typing
2024-01-31 14:01:53 -08:00
Ryan Fleury
9106190893
first pass at types view
2024-01-31 12:31:09 -08:00
Ryan Fleury
8602e5b23e
first pass at thread-locals view
2024-01-31 12:24:57 -08:00
Ryan Fleury
c8010b7542
first pass at globals view
2024-01-31 12:17:43 -08:00
Ryan Fleury
edb204bc5f
eliminate old expand-key-based eval history - ctrl process memory cache offers much better comprehensive replacement. also eliminate per-row and per-block eval views, since we've collapsed all eval views to one per list-of-watch-trees
2024-01-31 11:12:59 -08:00
Ryan Fleury
2bf8179fee
eliminate old registers/locals view states
2024-01-31 10:49:47 -08:00
Ryan Fleury
4e9cf2ef89
eliminate old locals view path; dont constantly mutate root expressions, simply query locals & build blocks
2024-01-31 10:48:49 -08:00