VS Code Debugger Freezes When Using wrap_wsgi_app with debugpy
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 38/100
調査の方向性
サンプルプロジェクトの main.py、特に 5、6、8 行目から始め、付属の「wsgiref」デバッグ設定を Python 3.13 で起動します。curl でブレークポイント時のフリーズを再現し、その後 wrap_wsgi_app(app) と debugpy の間の相互作用を追跡します。ブレークポイントがソース行にフォーカスし、デバッガーのコントロールが応答し、再開後に HTTP リクエストが完了すれば完了です。
索引モデルが issue の本文から書いたものです。
説明
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:
- Clone the sample project: https://github.com/totobest/python-debug-test
- Setup Python interpreter and install venv (poetry configuration is included)
- Launch the included "wsgiref" debug configuration..
- Set a breakpoint on line 5 or 6 of main.py..
- 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.
- 主要言語
- Python
- スター
- 2.5k
- フォーク
- 202
- 平均マージ
- 5日 1時間
- マージ済み PR(30日)
- 1
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
microsoft/debugpy のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
documentation
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
documentation
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
-
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
microsoft/debugpy の issue をすべて見る
似ている issue
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
canonical/paas-charm#368 · コメント 1 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
tech debt
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
StevenBlack/hosts#3256 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
qualcomm/qai-appbuilder#275 ·