VS Code Jupyter交互式环境无法显示完整traceback错误栈问题求助
问题根本原因
这是VS Code 1.86~1.89区间部分正式版本搭载的Jupyter扩展的已知Bug,仅在Windows平台触发,Mac/Linux平台同版本软件不受影响:
- 问题出在
# %%交互式代码块对应的运行窗口的traceback渲染逻辑上,对应版本的Jupyter扩展处理Windows路径的栈帧匹配逻辑存在缺陷,导致函数内部的具体报错行被截断,仅保留函数调用入口和最终错误提示 - 单独打开.ipynb笔记本文件的运行逻辑使用另一套渲染方案,因此不受该Bug影响,和测试结果一致
可行解决方案
- 优先将VS Code及Jupyter扩展升级到最新正式版,微软官方已经在2024年5月之后的版本中修复了该Bug
- 若暂时不想升级VS Code,也可以单独将Jupyter扩展降级到v2024.3.100及以下版本,该版本未引入该渲染问题
- 临时排查问题时,可通过手动捕获异常打印完整栈:
import traceback try: # 替换为你的业务代码 py_getAnnotation(["a", "b"]) except Exception: traceback.print_exc()
内容的提问来源于stack exchange,提问作者Dylan_00
相关产品推荐
相关产品推荐

