【问题标题】:How do I step through code when debugging in VSCode?在 VSCode 中调试时如何单步执行代码?
【发布时间】:2021-09-27 14:10:39
【问题描述】:

我对调试很陌生。我的整个编程“职业”仅限于插入打印语句以试图找出为什么事情没有按照我想要的方式工作。现在我正尝试在 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"
        }
    ]
}

【问题讨论】:

  • 通常,只要您安装了调试器扩展,调试器的默认设置就可以了。之后通常是按 F10 跨步,按 F11 进入。
  • 请问您的问题解决了吗?请检查我的答案。
  • 莫莉,很抱歉延迟检查您的解决方案。感谢您让我了解 pdb。我确实让它工作而没有过多地研究它,但它似乎是一个非常困难的调试器(例如,必须单独检查变量值)。令人尴尬的是,我发现我需要做的就是添加一个断点,然后当我启动调试器时,它会停在那里,然后我可以继续前进。以这种方式调试(在 VSCode 中)对我来说似乎要好得多,因为您可以看到变量值并且正在执行的代码行被突出显示。这就是我一直在寻找的。​​span>
  • @SunnyNonsense。是的,python 扩展确实具有调试功能,那么我认为您需要一种不同的方式,我的错误,但很高兴知道问题是由您自己解决的。快乐编码:)

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


【解决方案1】:

您可以尝试模块pdb。运行python -m pdb name.py 在终端开始调试。

键入n,逐步执行代码;

键入p <variable_name> 以检查其值;

键入q 停止并退出。

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

[更新]

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2010-12-07
      • 1970-01-01
      • 2014-06-07
      • 2021-05-19
      • 1970-01-01
      • 2019-12-08
      • 1970-01-01
      • 1970-01-01
      • 2021-03-07
      相关资源
      最近更新 更多