How to Set Up Xdebug with DDEV in VSCode in 4 steps

xdebug, ddev and vscode

How to Set Up Xdebug with DDEV in VSCode: In just four easy steps, enhance your coding and debugging experience in this popular editor, as detailed in this post.

Xdebug is a debugging and profiling tool for PHP. It offers stack traces, variable inspection, and breakpoints, along with code coverage and performance profiling to optimize PHP applications.

Debugging is the process of identifying, diagnosing, and correcting errors or bugs in software. These errors can be in the form of incorrect code, logical mistakes, or undesired behaviors that prevent the software from functioning as intended.

1. Install Prerequisites:

Ensure you have the following tools installed:

2. Configure DDEV for Xdebug:

DDEV comes with Xdebug pre-configured out of the box. You just have to enable it:

  1. Navigate to your DDEV project directory.
  2. Run the command:
ddev xdebug on

To verify Xdebug is enabled:

ddev describe

Look for the Xdebug section; it should indicate that Xdebug is enabled.

3. Configure VSCode:

  1. In VSCode, click on “Run” on the toolbar at the top.
  2. Click on “Open Configuration” (or similar wording, depending on your version of VSCode).
  3. Add the following configuration:
    "name": "Listen for Xdebug",
    "type": "php",
    "request": "launch",
    "hostname": "",
    "port": 9003,
    "pathMappings": {
        "/var/www/html": "${workspaceFolder}"

Ensure this configuration is saved in the launch.json file within the .vscode folder of your project.

xdebug configuration in vscode
Configuration vscode

4. Start Debugging:

  1. Set breakpoints in your PHP code.
  2. In VSCode, click on “Run” on the toolbar at the top and then click on Start Debugging.
  3. Initiate the action in your web application that triggers the breakpoint.
Start debugging vscode and xdebug

VSCode should now capture the breakpoint, allowing you to inspect variables, step through code, etc.

Debugging with vs code and xdebug

5. Disable Xdebug in DDEV (Optional):

When you’re done debugging, you might want to disable Xdebug in DDEV to improve performance:

ddev xdebug off

Happy Debugging!



, ,