Skip to content

[verify] Wire-log verification against PhpStorm and VS Code #7

Description

@lisachenko

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

  • The exact feature_set / feature_get burst each client sends after
    <init>, and whether either client rejects supported="0" for a feature
    it probes
  • Whether the IDE positions its cursor from the <xdebug:message filename=... lineno=.../> child in the continuation response, or falls
    back to stack_get. We emit it for compatibility; confirm it is required.
  • Whether typemap_get is ever called by PhpStorm / VS Code (believed to be
    Komodo-era; we answer error 4 today)
  • Default port 9003 (Xdebug 3) vs 9000 (spec) - we default to 9003
  • Whether file://host/path is ever emitted by a client (our parser accepts
    it; our writer always emits file:///path)

Method

  1. Run the fixture under the bootstrap with ZDEBUG_LOG set
  2. Log every inbound command line and outbound packet
  3. Attach PhpStorm, then VS Code (PHP Debug extension), and step through
  4. 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

  • A committed wire log (or transcript in this issue) for both clients
  • README.md states which IDE versions were verified

Metadata

Metadata

Assignees

No one assigned

    Labels

    verificationVerify behaviour against a real client

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions