断点不生效主因是debugpy未加载到目标代码,90%问题源于launch.json配置错误、python解释器选错或运行方式非调试模式。需检查program/module字段是否匹配脚本/包结构、cwd路径是否正确、env变量是否齐全,并确保通过f5而非绿色三角启动调试。

断点不生效,不是 VS Code 有问题,而是 debugpy 没真正加载到那行代码——90% 的“调试失败”都卡在 launch.json 配置、解释器错位或运行方式不对这三处。
断点打了但程序直接跑完?先查这四个硬伤
VS Code 显示红点 ≠ 断点被命中。常见现象:F5 启动后控制台刷完日志就退出,光标没停在断点行。
- 当前文件根本没被执行:比如你在
utils.py打了断点,但主入口是app.py,且没import utils—— 断点在未导入模块里完全无效 -
if __name__ == "__main__":没触发:你点了右上角绿色三角(Run Code),而不是调试图标里的 ▶️(Start Debugging);后者才走launch.json配置,前者只是用终端直接执行 - 路径含中文或空格:Windows 下尤其敏感,
debugpy会静默失败;把项目移到C:\dev\myproj这类纯英文无空格路径再试 - 热重载干扰:Flask 开发模式、Jupyter 插件等会动态 reload 模块,导致断点绑定丢失;临时关掉
debug=True或禁用相关插件再调试
launch.json 里最关键的三个字段必须对齐
不用背全配置,但以下三项写错,断点基本废掉:
-
program或module:Python 调试只认其中一个。脚本文件(如main.py)优先用"program": "${file}";包结构(如python -m mypackage.cli)必须用"module": "mypackage.cli",不能混用 -
cwd(current working directory):影响import和文件读写。Django 报ModuleNotFoundError、读不到config.json,八成是这里设错了;建议显式写"cwd": "${workspaceFolder}/src" -
env:调试时环境变量默认不继承终端。Django 必须加"DJANGO_SETTINGS_MODULE": "myproject.settings.dev",否则启动就崩;FastAPI 项目常要"PYTHONPATH": "${workspaceFolder}"
为什么选对解释器比装扩展还关键
装了 ms-python.python 扩展只是第一步。如果解释器路径错,debugpy 就会用错 Python 环境跑代码,结果可能是:第三方库报错、venv 里装的包找不到、甚至调试器自己启动失败。
- 按
Ctrl+Shift+P(Win/Linux)或Cmd+Shift+P(Mac),输入Python: Select Interpreter,选中你项目实际用的那个路径(比如./venv/bin/python或C:\myproj\.venv\Scripts\python.exe) - 状态栏右下角必须显示完整路径,且不能带红色波浪线;如果显示
Python 3.9.18 64-bit这种模糊信息,说明没真正选中 - conda 环境要确保已激活,或手动指向
anaconda3/envs/myenv/python.exe;别依赖 “Python Interpreter” 自动探测,它经常猜错
调试时变量看不清?检查 justMyCode 和 console 设置
变量视图空白、print() 输出不显示、无法单步进入函数——这些不是代码问题,而是调试配置没打开对应能力。
-
"justMyCode": true(默认):只调试你自己写的代码,跳过site-packages;想进requests.get()看源码,得设为false -
"console": "integratedTerminal":推荐值,所有输出和输入都在 VS Code 内置终端;设成"externalTerminal"在 Windows 上常因权限失败,且输入会被系统终端吞掉 - 鼠标悬停看变量值失效?确认没开
"showGlobalVariables": false;或者在调试控制台直接输type(my_var)或my_var.__dict__查细节
最易被忽略的一点:VS Code 的断点是“声明式”的,它依赖 debugpy 在进程启动时完成符号绑定。一旦代码路径、模块导入顺序、工作目录三者有一项和 launch.json 对不上,断点就成摆设——它不会报错,只会沉默跳过。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!











