The DBGp implementation was written against the specification plus known Xdebug
behaviour. A few details could not be verified without a real client and are
currently best-effort guesses. Capture a real session wire log and pin them.
Unknowns to confirm
Method
- Run the fixture under the bootstrap with
ZDEBUG_LOG set
- Log every inbound command line and outbound packet
- Attach PhpStorm, then VS Code (PHP Debug extension), and step through
- Feed the findings back into the command matrix; any command answered with
error 4 that the client actually needs becomes its own ticket
Acceptance criteria
The DBGp implementation was written against the specification plus known Xdebug
behaviour. A few details could not be verified without a real client and are
currently best-effort guesses. Capture a real session wire log and pin them.
Unknowns to confirm
feature_set/feature_getburst each client sends after<init>, and whether either client rejectssupported="0"for a featureit probes
<xdebug:message filename=... lineno=.../>child in the continuation response, or fallsback to
stack_get. We emit it for compatibility; confirm it is required.typemap_getis ever called by PhpStorm / VS Code (believed to beKomodo-era; we answer error 4 today)
file://host/pathis ever emitted by a client (our parser acceptsit; our writer always emits
file:///path)Method
ZDEBUG_LOGseterror 4 that the client actually needs becomes its own ticket
Acceptance criteria
README.mdstates which IDE versions were verified