Ryan Fleury
4840b46b84
dbg_engine: shift thread register reads / process memory reads -> abstraction layer, rather than directly calling into demon; cache crash dump info, like thread info & memory ranges; implement thread reg reads & memory reads for dumps by using this acceleration structure when we have a dump handle, instead of regular demon reads.
2026-05-18 14:51:17 -07:00
Ryan Fleury
fddf353ea0
minidump format types; open crash dump command, stub out opening path in control thread; expand d_handles to support machine id, entity id, *and* 'controller kind', which can be either a dump file or a demon - this properly separates the true process control abstraction (demon) from opening a regular dump file on any machine, which will let us trivially support any kind of dump file on any platform; also fix bad cfg tree state leak
2026-05-16 18:26:23 -07:00
Ryan Fleury
2eb0b8b233
ctrl -> d
2026-04-22 14:53:37 -07:00
Ryan Fleury
0e3c821e28
collapse ctrl/d bps
2026-04-22 14:31:08 -07:00
Ryan Fleury
0d8a6a4d3a
ctrl -> d type pass
2026-04-22 13:37:00 -07:00
Ryan Fleury
a90fbc844b
merge ctrl_init / d_init
2026-04-22 12:56:15 -07:00
Ryan Fleury
2388db3998
fold ctrl layer into dbg engine - no benefit to disallowing dependence on debug engine types inside of ctrl, and it has been causing unnecessary barriers for eventual eval magic.
2026-04-22 12:44:18 -07:00
Nikita Smith
f9561cb618
add support for CFA in the eval system
...
Canonical Frame Address is a DWARF-only concept encoded in the unwind info.
Debugger must store this data for each call frame and provide it to
the eval system based on selected stack frame.
To abstract over format details, we introduce a "Frame Unwind Context".
For DWARF, this context maintains the intermediate unwind state and exposes
the CFA, whereas for PE, it remains empty.
2025-11-26 15:42:40 -08:00
Ryan Fleury
c8c25c0f98
processless debug info loading/unloading; separate modules from dbg infos in eval; keep dbg infos around after debugging via config, correllate to new modules, evict when necessary, when generating new versions
2025-10-22 16:39:29 -07:00
Ryan Fleury
92517ef2d7
re-enable single-step on empty trap net, if no line info is present
2025-10-14 10:00:31 -07:00
Ryan Fleury
783988c0ac
expand ctrl process memory cache access to allow waiting for fresh results, rather than any results; use when doing a ctrl process memory write, to prefer viewing less stale data on exact frame. also expand trap net generation with success bit, use to retry stepping commands across frames if process memory reads are hindered. abort after N retries.
2025-10-07 15:44:35 -07:00
Ryan Fleury
a58c23754a
di2 -> di; delete old dbg info layer, delete async layer
2025-10-01 17:30:08 -07:00
Ryan Fleury
4964a94cd3
transition to dbg_info2
2025-09-30 12:52:32 -07:00
Ryan Fleury
5381307e90
hash_store -> content
2025-09-18 14:42:25 -07:00
Ryan Fleury
94b969f203
copyright year
2025-06-02 14:13:57 -07:00
Ryan Fleury
7fc39a3d97
eliminate old debug engine unwind cache
2025-05-20 11:13:04 -07:00
Ryan Fleury
b9e3df4cae
pass over hash store layer / all users, to switch to explicit 64-bit root alloc/dealloc, and 128-bit ids, for a full 192-bit hs key
2025-05-19 14:52:28 -07:00
Ryan Fleury
342627ae3b
dead code deletion
2025-05-18 13:16:51 -07:00
Ryan Fleury
1b26c3f180
entity_ctx * entity_store -> entity_ctx, entity_ctx_rw_store, thread-local entity_ctx_lookup_accel
2025-05-14 19:11:02 -07:00
Ryan Fleury
264dbc8199
deduplication from evaluation ctxs - just have base ctx with deduplicated info, then separate type-state, ir-ctx, and interpretation-ctx
2025-04-23 11:49:44 -07:00
Ryan Fleury
20ba4a6af9
dead code elimination, user/project setting evaluation, work on color view ui
2025-04-21 14:57:31 -07:00
Ryan Fleury
0f380e9228
transmit user breakpoints hit from demon -> ctrl using ctrl-defined IDs, correllate those IDs to rd-defined IDs, use rd-defined IDs in stop events to count bp hits, rather than re-resolving breakpoints. further fixes & work on first pass of data breakpoints
2025-04-12 14:28:38 -07:00
Ryan Fleury
ecad70ca19
pass through data breakpoint length, more progress on fixes/correctness in first pass
2025-04-11 18:07:00 -07:00
Ryan Fleury
e621d13669
frontend ui/editor & data funnelling for hardware data breakpoints
2025-04-11 17:03:36 -07:00
Ryan Fleury
e76da7892a
fix bad debug info scope search usage
2025-02-21 13:57:54 -08:00
Ryan Fleury
c7da3e8a13
distinguish cfg (breakpoints, watch pins) source-locations from address locations; expand breakpoint addresses to being full expressions, & use this to implement symbol breakpoints (we now support fancier address resolution breakpoints too)
2025-02-21 08:42:33 -08:00
Ryan Fleury
98ec6ee3bb
extend constructed type info with 'pointer depth', to distinguish between inline-depths; use in symbolizing & call stack expression formation
2025-02-11 16:16:44 -08:00
Ryan Fleury
3b19334075
tear out old meta evaluation code; robustify filesystem streaming async reads
2025-02-10 14:12:44 -08:00
Ryan Fleury
a827c74501
adjust thread-selection-on-stop & thread-snapping rules, to prevent useless disasm snaps & incorrect thread selections in some edge cases
2024-12-02 09:44:50 -08:00
Ryan Fleury
77b2172a85
restrict cursor line info committing by selected module
2024-11-15 15:00:15 -08:00
Ryan Fleury
fe657987d6
restrict module for line info visualization; it is not generally useful to do all modules, and in large projects it is too slow to do serially:
2024-11-15 11:19:46 -08:00
Ryan Fleury
81c7c7a7c4
per-target option of automatically debugging subprocesses, or not
2024-11-14 14:18:35 -08:00
Ryan Fleury
e376ad8113
stdout/stderr/stdin file path overrides for targets
2024-10-17 11:25:47 -07:00
Ryan Fleury
1bf01c790b
ctrl entity lister; fix up entity parameter commands / lister interaction
2024-10-14 15:01:35 -07:00
Ryan Fleury
4091f5e0c0
rich unwind -> callstack, defined by ctrl layer, so we can begin floating meta evaluation cache to ctrl layer
2024-10-11 11:46:25 -07:00
Ryan Fleury
f6502f476b
quit-after-success flag
2024-10-10 12:57:26 -07:00
Ryan Fleury
07c781a4f6
jank reduction & completeness pass
2024-10-09 16:24:29 -07:00
Ryan Fleury
870df1191b
jank reduction & flow fix pass, after all of the last month's changes
2024-10-08 15:32:34 -07:00
Ryan Fleury
c6b44f6afa
bp hit counts reset; cell-granularity deletions path for watch windows
2024-10-08 11:25:16 -07:00
Ryan Fleury
546e6e695f
eliminate ad-hoc meta eval info type tables; switch to base layer meta type info; do first pass of shifting serialization of meta evals to meta type info driven system
2024-09-18 15:57:01 -07:00
Ryan Fleury
85a07be1ac
generate meta tables for meta evaluations; use to table-drive ctrl msg serialization, deserialization, meta eval type info generation, and info <-> serialized eval path
2024-09-17 15:43:39 -07:00
Ryan Fleury
a7ca8dd0a0
sketch out thread color events & client-driven thread color state, plug thread colors back into ui
2024-09-16 17:37:50 -07:00
Ryan Fleury
4b382777e9
fix debug engine incorrectly using visual run state to soft halt, when ctrl thread did not necessarily report it was running; was leading to 'phantom halts'; other small fixes, dead code elimination, and begin sketching out proper cross-window drag/drop
2024-09-16 17:09:41 -07:00
Ryan Fleury
adc9e0e512
begin sketching out meta eval info, to allow for debugger meta evaluations on both ctrl thread & on ui thread - e.g. breakpoint hit count evaluation in conditional bps
2024-09-16 10:36:22 -07:00
Ryan Fleury
48ae9b6973
move rest of cfg-related stuff into frontend
2024-09-13 14:51:07 -07:00
Ryan Fleury
793ad8fe1e
new view rule table definition in df, merging graphical view rules & views totally
2024-09-13 13:39:40 -07:00
Ryan Fleury
7cd1d175de
deduplicate string escaping paths in eval/cfg/etc
2024-09-13 12:08:22 -07:00
Ryan Fleury
306f8d84c5
remainder of entity code -> df; exception code filters -> df
2024-09-13 11:59:46 -07:00
Ryan Fleury
573bad8487
entity from d -> df
2024-09-13 11:46:17 -07:00
Ryan Fleury
96b5f82964
run-to-line/address porting from old df_entity-based behavior
2024-09-13 11:21:13 -07:00