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

时间:2019-12-14 11:27:58

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

我想调试一个Python文件,该文件具有一些依赖性,这些依赖性仅出现在bazel的runfiles中。如何使用vscode调试器调试bazel版本?

1 个答案:

答案 0 :(得分:3)

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

您需要使用“ ptvsd” python软件包。

一次性设置

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

调试

要调试特定文件时:

  • 在要调试的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:附加”调试选项:

Python attach button

  • 就是这样!

随意更改端口,在此示例中为5724。