求助:VS Code调试Jupyter Notebook无法断点或单步执行第三方Python代码
解决VS Code调试Jupyter Notebook时第三方库断点被过滤的问题
我常用调试器单步执行第三方库代码来理解其逻辑,但在VS Code中调试Jupyter Notebook时,无法给第三方Python代码设置断点或单步执行,会弹出Breakpoint in file excluded by filters错误。已尝试以下常规方案但无效:
- 在
File > Preferences > Settings > Debug中开启User和Workspace级别的Allow breakpoints everywhere - 在
Settings > Extensions > Jupyter中关闭Debug Just My Code选项 - 修改
launch.json中的"justMyCode": true为"justMyCode": false - 尝试过调整
launch.json的调试配置(如request: attach、purpose: debug-test),但均无效
且相同代码在普通Python文件中调试无此问题,说明仅Jupyter Notebook调试时存在过滤规则生效的情况。
解决方案1:检查并修改调试排除文件列表
VS Code默认会将第三方库所在的site-packages目录加入调试排除列表,需要手动移除该规则:
- 打开
settings.json(使用快捷键Ctrl+,打开设置面板,点击右上角的「打开设置(JSON)」图标) - 找到
debug.excludeFiles配置项,删除其中的**/site-packages/**条目 - 保存设置后重启VS Code,再尝试调试Jupyter Notebook
解决方案2:配置Jupyter专属调试launch.json
确保你的调试配置是针对Jupyter Notebook的,而非普通Python文件:
在.vscode/launch.json中添加以下配置:
{ "version": "0.2.0", "configurations": [ { "name": "Debug Jupyter Notebook", "type": "python", "request": "launch", "program": "${file}", "justMyCode": false, "purpose": ["debug-notebook"] } ] }
保存后,在调试面板选择「Debug Jupyter Notebook」配置启动调试。
解决方案3:重置Jupyter扩展配置
若上述方法无效,可能是Jupyter扩展的配置出现异常,尝试重置:
- 打开VS Code扩展面板,找到「Jupyter」扩展,点击右侧齿轮图标选择「Reset Extension Settings」
- 重新进入设置,关闭
Settings > Extensions > Jupyter下的Debug Just My Code,开启Debug > Allow breakpoints everywhere - 重启VS Code后再次尝试调试
内容的提问来源于stack exchange,提问作者JasonK
相关产品推荐
相关产品推荐

