如何在使用 bazel 构建的项目中使用 vscode python 调试器?

Zac*_*030 6 python bazel visual-studio-code vscode-debugger

我想调试一个 python 文件,该文件有一些仅出现在runfilesfrom bazel 中的依赖项。如何使用 vscode 调试器调试 bazel 构建?

Ant*_*oin 9

正如一位名人所说:“是的,我们可以”。

您需要使用“ptvsd”python 包。

一次性设置

  • 在 Bazel 中添加“ptvsd”作为 Python 依赖项
  • 在 VS Code 的文件中launch.json,添加以下配置:
{
    "name": "Python: Attach",
    "type": "python",
    "request": "attach",
    "port": 5724,
    "host": "localhost"
},
Run Code Online (Sandbox Code Playgroud)

调试

当你想调试特定文件时:

  • 在要调试的 Python 文件中,添加以下行:
{
    "name": "Python: Attach",
    "type": "python",
    "request": "attach",
    "port": 5724,
    "host": "localhost"
},
Run Code Online (Sandbox Code Playgroud)
  • 像平常一样对此文件运行 Bazel(bazel run :server例如)
  • 执行将停止在“现在是附加调试器的好时机:运行:Python:附加”
  • 在 VS Code 中,单击我们之前设置的“Python: Attach”调试选项:

Python附加按钮

  • 就是这样!

请随意更改端口,本例中为 5724。