Parent: #139
Implement execution control on top of the versioned inspector session transport.
Acceptance:
Completed implementation:
- 98c9dbb retains exact statement locations, stable scripts, debugger-statement and requested pause/resume, with tree-walker deoptimization for scripts and ordinary synchronous functions.
- eb69127 adds source retrieval, future/present URL and script-ID breakpoints, deterministic nearest-statement resolution, repeated hits, and removal.
- 6344e53 implements logical-depth stepInto/stepOver/stepOut across calls and caught exceptions.
- 357f01d implements none/all/uncaught exception policy with origin/fallback detection, exceptionThrown events, adjusted locations, and no duplicate caught/uncaught notifications.
- 835831d adds 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 test gate — 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.
Parent: #139
Implement execution control on top of the versioned inspector session transport.
Acceptance:
Completed implementation:
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.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.