从VS代码Python调试器运行命令时查看错误回溯

从VS代码Python调试器运行命令时查看错误回溯,python,visual-studio-code,vscode-debugger,vscode-remote,Python,Visual Studio Code,Vscode Debugger,Vscode Remote,当我使用带有Python的VS代码调试器在某些断点处停止时,我经常直接在调试控制台中编写一些行(在我的程序中将其用作交互式Python shell) 问题是,当我在这些行中出现错误时,当从调试控制台键入时,我看不到完整的Python风格的错误回溯,只看到最后一行(:),即,没有引用引发错误的代码文件、引发错误的行以及完整的堆栈跟踪 是否有任何方法可以配置VS代码调试器以显示由调试器执行的行引发的错误的完整回溯 我通过ssh在远程机器上开发(和调试) 例如: 我编写了一个名为tmp2.py的文件,

当我使用带有Python的VS代码调试器在某些断点处停止时,我经常直接在调试控制台中编写一些行(在我的程序中将其用作交互式Python shell)

问题是,当我在这些行中出现错误时,当从调试控制台键入时,我看不到完整的Python风格的错误回溯,只看到最后一行(:),即,没有引用引发错误的代码文件、引发错误的行以及完整的堆栈跟踪

是否有任何方法可以配置VS代码调试器以显示由调试器执行的行引发的错误的完整回溯

我通过ssh在远程机器上开发(和调试)

例如:

我编写了一个名为tmp2.py的文件,其中包含:

class A:
    def __init__(self, val):
        print(val)

a = A()
如果我将调试点放在第5行:
print('start')
, 然后从调试控制台类型直接
a=a()
,我看到这一行输出:

TypeError:\uuuu init\uuuuu()缺少1个必需的位置参数:“val”
但是如果我运行完整的程序,我会看到这个详细的输出:

回溯(最近一次呼叫最后一次):
文件“/home/innereye/anaconda2/envs/py3tf2/lib/python3.7/runpy.py”,第193行,位于主运行模块中
“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
文件“/home/innereye/anaconda2/envs/py3tf2/lib/python3.7/runpy.py”,第85行,在运行代码中
exec(代码、运行\全局)
文件“/home/innereye/.vscode server/extensions/ms python.python-2020.6.91350/pythonFiles/lib/python/debugpy/\uuuuuuuuuu main\uuuuuuuuu.py”,第45行
cli.main()
文件“/home/innereye/.vscode server/extensions/ms python.python-2020.6.91350/pythonFiles/lib/python/debugpy/。/debugpy/server/cli.py”,第430行,在main中
运行()
文件“/home/innereye/.vscode server/extensions/ms python.python-2020.6.91350/pythonFiles/lib/python/debugpy/。/debugpy/server/cli.py”,第267行,在run_文件中
runpy.run\u路径(options.target,run\u name=compat.force\u str(“\uuuuu main\uuuu”))
文件“/home/innereye/anaconda2/envs/py3tf2/lib/python3.7/runpy.py”,第263行,在运行路径中
pkg_name=pkg_name,script_name=fname)
文件“/home/innereye/anaconda2/envs/py3tf2/lib/python3.7/runpy.py”,第96行,在运行模块代码中
模块名称、模块规格、组件名称、脚本名称)
文件“/home/innereye/anaconda2/envs/py3tf2/lib/python3.7/runpy.py”,第85行,在运行代码中
exec(代码、运行\全局)
文件“/home/innereye/deeplearning/tmp2.py”,第6行,在
a=a()
TypeError:\uuuu init\uuuuu()缺少1个必需的位置参数:“val”
这将引导我找到引发错误的实际文件和行


我希望调试器也为直接从调试控制台执行的行显示第二个输出。

抱歉,但这似乎是不可能的,VSCode没有提供相关的配置。我认为这很难得到你想要的,这是因为调试理论。

< P>对不起,但似乎是不可能的,VSCODE没有提供相关的配置。我认为很难得到你想要的,这是因为调试理论。

但是在调试控制台中,没有从错误中产生的行号。你只是自己打了一行。除此之外,我认为堆栈跟踪中没有任何有用的信息。除了最后一行之外,您在strack跟踪中看到的所有内容都只是VS Code用来最终调用Python解释器的多层包装器。但是在调试控制台中,没有引起错误的行号。你只是自己打了一行。除此之外,我认为堆栈跟踪中没有任何有用的信息。除了最后一行之外,您在strack跟踪中看到的所有内容都只是VS代码用来最终调用Python解释器的多层包装器。