Bazel构建详细的编译器命令记录

Jan*_*Jan 27 c++ bazel

如何增加构建过程的详细程度?Bazel似乎只在构建期间出现问题时才打印编译器命令.

我想看看哪个编译器命令cc_library规则触发,即使一切似乎都很好,也可以调试链接问题.我已经尝试了各种bazel命令行参数,但没有给我编译器命令:(

Dam*_*rez 37

这可能就是你要找的东西

bazel build -s // my:target

-s开关使Bazel打印出所有调用的命令.

  • 您还必须更改代码库中的某些内容以使其重建 - 即使这只是意味着删除某处的括号以使构建中断。 (2认同)
  • https://docs.bazel.build/versions/master/user-manual.html#flag--subcommands `bazel help build` 打印:`--[no]subcommands [-s] (true、pretty_print 或 false;默认值:“假”)` (2认同)

man*_*ni0 8

有用的信息来自Envoy的bazel自述文件(https://github.com/envoyproxy/envoy/blob/master/bazel/README.md

当试图了解Bazel在做什么时,-s和--explain选项很有用。要让Bazel提供正在执行命令的详细输出:

bazel build -s //source/...
Run Code Online (Sandbox Code Playgroud)

使Bazel向文本文件发出重建目标的理由:

bazel build --explain=file.txt //source/...
Run Code Online (Sandbox Code Playgroud)

要获得更多详细的解释:

bazel build --explain=file.txt --verbose_explanations //source/...
Run Code Online (Sandbox Code Playgroud)