在 VSCode 中调试时如何单步执行代码?

时间:2021-07-20 01:10:29

标签: python debugging visual-studio-code vscode-debugger

我对调试很陌生。我的整个编程“职业生涯”仅限于插入打印语句以试图找出为什么事情没有按照我希望的方式工作。现在我正在尝试在 Visual Studio Code 中单步执行我的 Python 代码,但是当我尝试进入调试器时,它直接跳转到第一个异常(大约需要 50 个步骤才能清楚)。

我看到有调试配置,但我当然不必为了单步调试代码而学习所有这些配置。我知道你可以设置断点,但我现在想看看每一步。有什么我想念的吗?在尝试 VSCode 之前,我使用 IDLE 来逐步完成我有​​点简单的功能,但是所有的小调整都使速度太慢。感谢您提供的任何帮助。

据我所知,这是我默认使用的配置:

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal"
        }
    ]
}

2 个答案:

答案 0 :(得分:0)

您可以试试模块pdb。运行 python -m pdb name.py 以在终端中启动调试。

<块引用>

输入n一步步执行代码;

输入 p <variable_name> 检查其值;

输入 q 停止并退出。

enter image description here

关于python调试的更多信息请查看我在开始时提到的链接。

[更新]

有关于 VSCode-Python 的新版本,请查看 Two new debugger features: step into targets and function breakpoints

答案 1 :(得分:0)

如问题下方的评论所示,我最终发现在第一行代码中添加断点可以实现我正在寻找的功能。显然,执行在断点处停止,然后我可以根据需要一直执行到我的异常。我不确定第 1 行断点是否是执行此操作的正确方法,但它对我有用。