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

问题描述 投票:2回答:1

我想调试一个python文件,这个文件有一些依赖关系,而这些依赖关系只出现在项目的 runfiles 从 bazel。我如何使用vscode调试器调试一个bazel构建的文件?

python visual-studio-code bazel vscode-debugger
1个回答
2
投票

正如某位名人所说,"是的,我们可以"。

你需要使用 "ptvsd "python包。

一次性设置

  • 在Bazel中添加 "ptvsd "作为Python依赖。
  • 在VS代码中,在你的 launch.json 文件,添加以下配置。
{
    "name": "Python: Attach",
    "type": "python",
    "request": "attach",
    "port": 5724,
    "host": "localhost"
},

Debug

当你想调试一个特定的文件时。

  • 在你想调试的Python文件中,添加以下行。
import ptvsd
ptvsd.enable_attach(address=('localhost', 5724), redirect_output=True)
print('Now is a good time to attach your debugger: Run: Python: Attach')
ptvsd.wait_for_attach()
  • 像平常一样在这个文件上运行 Bazel (bazel run :server 例如)
  • 执行将停止在 "现在是连接调试器的好时机"。运行: Python: 附加"
  • 在VS Code中,点击 "Python: 我们之前设置的 "Attach "调试选项。

Python attach button

  • 就是这样!

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

© www.soinside.com 2019 - 2024. All rights reserved.