Public release release-be1f654ae8de
Source commit: be1f654ae8de7d5eeb2005b4e1a05bf1ebf3124f Public tree identity: sha256:ab53679496be4be7d1e02bc00723072774d1a3f87e10cc56558a752f28f6abb1
This commit is contained in:
commit
a6ca9e26dd
210 changed files with 78671 additions and 0 deletions
51
docs/debugging.md
Normal file
51
docs/debugging.md
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
# Debugging
|
||||
|
||||
The VS Code extension uses the Debug Adapter Protocol and the coordinator's
|
||||
authoritative process, task, attempt, and Debug Epoch APIs.
|
||||
|
||||
## Launch
|
||||
|
||||
Open your project and start "Clusterflux: Launch Virtual Process". The adapter
|
||||
acknowledges launch configuration immediately, then builds and starts the
|
||||
selected entrypoint in the background. You can keep using the debug UI while a
|
||||
long-running process is attached. The adapter replaces its thread view with
|
||||
coordinator task snapshots as they arrive; product mode does not infer threads
|
||||
from completion events or demo fixtures.
|
||||
|
||||
Each task view includes its logical task, attempt ID, definition, state, node,
|
||||
environment, arguments, typed handles, command status, VFS checkpoint, probe
|
||||
source when known, and restart compatibility. Unknown source remains unknown.
|
||||
|
||||
## Breakpoints and Debug Epochs
|
||||
|
||||
When a breakpoint is hit, the coordinator asks every active participant to
|
||||
freeze. A fully frozen epoch is a consistent all-participant view.
|
||||
|
||||
You do not need to configure a breakpoint before launch. Breakpoint changes are
|
||||
sent to the running coordinator, and a stopped event is emitted only after an
|
||||
executing Wasm probe reports a real hit. Pause, continue, inspection, and
|
||||
disconnect requests remain responsive while the adapter observes the runtime in
|
||||
the background. Attach does not fabricate an initial breakpoint.
|
||||
|
||||
If one or more participants cannot freeze within five seconds, the epoch becomes
|
||||
partially frozen when at least one participant did freeze. The adapter warns
|
||||
that running and frozen tasks do not form a consistent global snapshot. You may
|
||||
inspect the acknowledged participants and resume them cleanly. Missing or failed
|
||||
participants remain explicit.
|
||||
|
||||
Stack frames, Wasm locals, task arguments, handles, command status, and output
|
||||
come from runtime acknowledgements. No frame or value is fabricated when the
|
||||
runtime did not report it.
|
||||
|
||||
## Continue and restart
|
||||
|
||||
Continue responds immediately, then resumes only participants that acknowledged
|
||||
the freeze while runtime observation continues in the background.
|
||||
|
||||
Restarting a terminal task rebuilds the bundle and checks its clean entry
|
||||
checkpoint. A compatible restart creates a new attempt under the same logical
|
||||
task identity. Earlier attempt history remains inspectable, and the logical join
|
||||
continues. An active task or an incompatible boundary requires a whole-process
|
||||
restart.
|
||||
|
||||
Source stepping is not simulated. Unsupported stepping fails explicitly.
|
||||
Loading…
Add table
Add a link
Reference in a new issue