Parent: #139
Implement execution control on top of the versioned inspector session transport.
Acceptance:
- Preserve statement/source locations and publish scriptParsed events with stable script IDs.
- Implement debugger-statement and explicit pause/resume.
- Implement URL/script breakpoints, removal, and deterministic resolution events.
- Implement stepInto, stepOver, and stepOut across calls and exceptions.
- Implement pause-on-exception modes and exception events.
- Keep tree-walker and baseline/native tiers coherent, deopting or using shared hooks where required.
- Add end-to-end protocol transcripts with no silently accepted commands.
Completed implementation:
98c9dbbretains exact statement locations, stable scripts, debugger-statement and requested pause/resume, with tree-walker deoptimization for scripts and ordinary synchronous functions.eb69127adds source retrieval, future/present URL and script-ID breakpoints, deterministic nearest-statement resolution, repeated hits, and removal.6344e53implements logical-depth stepInto/stepOver/stepOut across calls and caught exceptions.357f01dimplements none/all/uncaught exception policy with origin/fallback detection, exceptionThrown events, adjusted locations, and no duplicate caught/uncaught notifications.835831dadds instruction-indexed debugger checkpoints to suspendable generator/async VM chunks across yield/await, disables checkpoint-skipping quick paths in debug chunks, covers VM throws, and publishes the machine-readable 16-command/8-event inventory with deterministic -32601 behavior.
Verification:
zig build test -Dtest-filter='C-API: debugger checkpoints survive generator yield and async await'— 2/2, no leaks.zig build test -Dtest-filter='C-API: inspector protocol inventory has no hidden commands'— 2/2, no leaks.zig build test-c-api— C and C++ hosts pass; 117/117 declarations complete and present.- Accumulated
zig build testgate — 811/811 tests passed.
Dynamic eval/module/function-constructor script discovery is explicitly tracked in #155; paused frames, scopes, and remote values remain in #154.