【问题标题】:How to use pdb(Python debugger) in vscode IDE's debugger?如何在 vscode IDE 的调试器中使用 pdb(Python 调试器)?
【发布时间】:2021-01-12 03:40:44
【问题描述】:

我之前总是使用pdb 进行python 调试。最近,我开始使用 vscode。在 vscode 调试器中查看,如果我设置 breakpoint(),vscode 将在左侧窗口的停止位置显示变量值,我必须通过 GUI 栏控制它。所以在"integratedTerminal""externalTerminal" 中,我无法通过显示here 的命令行进行控制,并且没有pdb 提示弹出窗口。我觉得这让我很惊讶,因为它劫持了纯 python 的东西。

那么有什么办法可以同时控制变量监视窗口和 pdb 提示符?尤其是在"integratedTerminal""externalTerminal"

下面是.vscode下的文件,

settings.json

{
    "python.pythonPath": "/Users/<USERNAME>/miniconda3/envs/<CONDA_ENV>/bin/python"
}

launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python Module",
            "type": "python",
            "python": "/Users/<USERNAME>/miniconda3/envs/<CONDA_ENV>/bin/python",
            "request": "launch",
            "program": "/Users/<USERNAME>/miniconda3/envs/<CONDA_ENV>/bin/<COMMAND>",
            "console": "integratedTerminal",
            "args": [
                "hello-world"
            ],
            "cwd": "${workspaceRoot}",
        }
    ]
}

【问题讨论】:

    标签: python visual-studio-code vscode-settings vscode-debugger pdb


    【解决方案1】:

    根据你描述的信息,当我在代码中使用“breakpoint()”时,我点击F5在VSCode中调试代码。当代码停止时,我们可以使用快捷键Ctrl+Shift+`打开一个新的终端,进入pdb交互窗口。此时,我们不仅可以看到调试变量值,还可以使用'pdb'命令:

    更新:

    【讨论】:

    • 谢谢。但是,在我的 launch.json 中,我通过“程序”进行调试。我通过一个入口点运行这个模块。在这种情况下,它是&lt;ENTRYPOINT CMD&gt; hello-world。那么在 vscode 停止后,我应该使用什么命令行来确保 pdb 捕获相同的位置?
    • @Ke Zhang - 如何理解“pdb 捕获同一位置”?请举例说明您的需求。
    • 当然。在您的示例中,当您使用 python -m pdb pd.py 时,请输入 pdb 交互式。 pdb 停在您的 breakpoint() 位置。仅当您直接运行 .py 文件时才会出现这种情况。就我而言,我源安装了一个包并尝试测试它的入口点。我的 launch.json 实际上是从 bash 终端执行 &lt;CMD&gt; hello-world 。这个 是包的入口点。按F5 后,正如我们所料,vscode 调试器停止在断点位置,假设它是“/Users/pkg/pkg/__init__.py”中的第 57 行,python -m pdb ... 需要什么参数让 pdb 停止在同一位置?
    • @Ke Zhang -我在代码中设置了“breakpoint()”,在pdb交互窗口中输入“c”让代码执行到我需要的位置,它显示的数量在它停止的断点处的行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-06
    • 2020-02-24
    • 1970-01-01
    • 1970-01-01
    • 2021-10-09
    相关资源
    最近更新 更多