microsoft / microsoft/vscode-python-debugger
Debug launch kills Tkinter GUI process after recent update; plain terminal run is stable
还没有人认领这个 Issue。
- 主要语言
- TypeScript
- 星标
- 181
- 派生
- 126
- 平均合并
- 2 天 3 小时
- 30 天内合并 PR
- 3
描述
Summary
After recent updates, debugging a Tkinter GUI with F5 becomes unstable. The GUI process exits suddenly without Python traceback. Running the same app with plain Python is stable.
Environment
VS Code: 1.124.0 (commit 1b50d58d73426c9171299ec4037d01365d995b78, x64)
Python extension: ms-python.python-2026.4.0-win32-x64
Debugpy extension: ms-python.debugpy-2026.6.0-win32-x64
Pylance: ms-python.vscode-pylance-2026.2.1
OS: Windows
Interpreter: workspace venv [python.exe]
Repro steps
Open a Tkinter GUI app in VS Code.
Start debugging with F5 using a launch config of type debugpy, request launch, program app_gui.py, console integratedTerminal or externalTerminal.
Let the app run without interaction for about 30 to 90 seconds.
GUI exits unexpectedly.
Expected behavior
GUI should keep running until user closes it or app throws a visible Python exception.
Actual behavior
Process exits abruptly.
No Python traceback.
No OS crash event for python.
Internal app heartbeat logs stop suddenly.
Important control test
Running the same GUI via plain terminal command is stable:
[python.exe] [app_gui.py]
Additional evidence
Python extension log repeatedly shows debug launch commands through debugpy launcher:
Send text to terminal ... debugpy\launcher ... -- [app_gui.py]
App-side diagnostics show debugger_attached=False in failing runs, and process chain python -> python -> app_gui before sudden exit.
No fault traceback captured.
Workaround
Attach mode is stable:
Start app manually with debugpy listen.
Use debugpy attach config from VS Code.
This avoids VS Code owning the app process lifecycle.
Question
Was there a recent regression/change in debug launch process lifecycle handling on Windows in ms-python.python 2026.4.0 or debugpy 2026.6.0?
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
未指定源文件或测试。首先在 Windows 上使用 F5 debugpy 启动配置复现 Tkinter 应用,然后将其进程生命周期与稳定的纯终端运行和 attach-mode 运行进行比较。跟踪意外退出前后 debugpy launcher 和 Python extension 的日志;完成的标准是找出该回归,或为启动行为找到一个专门的失败测试。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- python, typescript, vscode
- 领域
- developer-experience, devtools
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 冷清
- 描述清晰度
- 基本清楚
- 新手友好度
- 45/100