移动项目目录后VSCode Python调试器无法触发断点求助
问题
将项目迁移至电脑新目录后,VSCode的Python调试配置可正常执行代码,但调试器不再在断点处停止。将项目移回原位置后,断点功能恢复正常。
我的launch.json配置:
{ "version": "0.2.0", "configurations": [ { "name": "Module Python", "type": "python", "request": "launch", "cwd": "${workspaceFolder}", "module": "bin.main", "justMyCode": true } ] }
环境信息:
- MacOS 10.15
- VSCode 1.69.2
- Conda虚拟环境(Python 3.7.13)
- Python扩展 ms-python.python-2022.13.12381007
解决方案
1. 清理VSCode缓存
关闭VSCode,删除以下路径的缓存文件夹:
~/Library/Application Support/Code/Cache~/Library/Application Support/Code/CachedData
重新打开VSCode加载项目,再尝试调试。
2. 确认Python解释器关联正确
按下Cmd+Shift+P打开命令面板,执行Python: Select Interpreter,选择对应Conda虚拟环境的Python解释器。如果找不到,可手动输入虚拟环境的Python路径(终端激活环境后用which python获取)。
3. 配置PYTHONPATH解决模块路径问题
在launch.json中添加env字段,指定PYTHONPATH为项目根目录,确保调试器能正确识别模块:
{ "version": "0.2.0", "configurations": [ { "name": "Module Python", "type": "python", "request": "launch", "cwd": "${workspaceFolder}", "module": "bin.main", "justMyCode": true, "env": { "PYTHONPATH": "${workspaceFolder}" } } ] }
4. 调试justMyCode设置
临时将justMyCode改为false,启动调试看断点是否触发。如果生效,说明调试器误将你的代码归为非用户代码,可在VSCode的settings.json中添加排除路径:
"python.debugger.excludePaths": [ "${workspaceFolder}/venv/**", "/usr/local/**" ]
完成后再将justMyCode改回true。
5. 重置项目VSCode配置
备份项目根目录下的.vscode文件夹后删除,重新打开项目,重新配置调试环境,避免旧路径残留的配置影响。
内容的提问来源于stack exchange,提问作者jyco
相关产品推荐
相关产品推荐

