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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用vscode python调试器来调试用bazel构建的项目?相关的知识,希望对你有一定的参考价值。

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

答案

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

你需要使用 "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。

以上是关于如何使用vscode python调试器来调试用bazel构建的项目?的主要内容,如果未能解决你的问题,请参考以下文章

vscode如何调试python

使用 VSCode 如何进行远程开发调试?

如何使用vscode 调试python

VSCode -- 如何设置调试工作目录

如何愉快地调试 VueReact源码

vscode入门使用教程(页面调试)