VS Code Jupyter Notebook无法步入库代码的调试问题求助
VS Code Jupyter Notebook调试:无法步入库函数/调用栈缺失的解决办法
问题场景
在WSL环境下使用VS Code + Jupyter Notebook开发Python机器学习项目时,单元格内断点调试正常,但调试过程中无法步入单元格外的库函数(如model.generate(...)),且调用栈缺失中间帧(比如直接从run()跳到filter_allowed_tokens(),看不到generate()的调用记录)。将代码复制到普通.py文件中调试一切正常,但需要保留Jupyter在多次运行间驻留模型内存的优势。
解决步骤
1. 关闭「仅调试用户代码」设置
VS Code的Jupyter调试默认开启debugJustMyCode选项,会自动跳过非用户编写的库代码,导致无法步入model.generate这类函数,同时调用栈也不会显示这些帧。
- 打开VS Code设置(快捷键
Ctrl+,) - 搜索
jupyter.debugJustMyCode,取消勾选该选项
2. 确认调试依赖与内核环境
- 确保WSL中使用的Jupyter内核对应你的项目Python环境,可通过右上角内核选择器或命令面板(
Ctrl+Shift+P)执行Jupyter: Select Kernel切换 - 若内核环境异常,重新安装调试依赖:
pip install --upgrade jupyter debugpy
3. 调试操作与配置检查
- 调试时确保使用**「步入(Step Into)」**操作(快捷键
F11),而非「步过(Step Over)」(F10),避免误操作跳过库函数调用 - 检查VS Code的Python插件和Jupyter插件是否为最新版本,旧版本可能存在调试兼容性问题,在扩展面板(
Ctrl+Shift+X)中更新这两个插件
4. 路径兼容性排查
WSL环境下若项目路径包含中文或特殊字符,可能导致调试器路径映射异常,尽量保证项目所在路径为纯英文无特殊字符
内容的提问来源于stack exchange,提问作者Noam
相关产品推荐
相关产品推荐

