Skip to content

VS Code Debugger Freezes When Using wrap_wsgi_app with debugpy #1908

@mrbaguettefr

Description

@mrbaguettefr

Environment data

  • debugpy version: XXX (run import debugpy; print(debugpy.__version__) if uncertain) 1.8.13
  • OS and version:
  • Python version (& distribution if applicable, e.g. Anaconda):
Virtualenv
Python:         3.13.4
Implementation: CPython
Platform:   linux
OS:         posix
Python:     3.13.4
Path:       /home/tony/.pyenv/versions/3.13.4
Executable: /home/tony/.pyenv/versions/3.13.4/bin/python3.13
  • Using VS Code

Actual behavior

  • VS Code debugger gets stuck once breakpoint is hit.
  • UI does not switch to source code line.
  • Debugger controls (Resume, Step Out, etc.) are unresponsive.
  • HTTP server hangs (no response).
  • However, the VS Code CALL STACK shows status: "PAUSED".

Expected behavior

  • Debugger pauses on the specified line and focuses editor on source code.
  • Debugger controls should remain fully functional.
  • Upon resuming, the HTTP server should respond correctly:
HTTP/1.0 200 OK
Content-Length: 13
Content-Type: text/plain
Date: Wed, 11 Jun 2025 20:54:32 GMT
Server: WSGIServer/0.2 CPython/3.13.4

Hello world!

Steps to reproduce:

  1. Clone the sample project: https://github.com/totobest/python-debug-test
  2. Setup Python interpreter and install venv (poetry configuration is included)
  3. Launch the included "wsgiref" debug configuration..
  4. Set a breakpoint on line 5 or 6 of main.py..
  5. In a terminal, run: curl -i localhost:8000

Additional Context

  • Issue occurs consistently across Python versions 3.9 to 3.13.
  • Tested across multiple Python Debugger extension versions (2024.x to latest).
  • Works as expected when no breakpoint is set.
  • Removing the call to wrap_wsgi_app(app) (line 8) resolves the issue entirely.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions