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

时间:2015-09-28 12:59:42

标签: c++ bazel

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

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

3 个答案:

答案 0 :(得分:33)

这可能就是你要找的东西

  

bazel build -s // my:target

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

答案 1 :(得分:3)

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

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

bazel build -s //source/...

让Bazel向文本文件发出重建目标的基本原理:

bazel build --explain=file.txt //source/...

要获得更详细的解释:

bazel build --explain=file.txt --verbose_explanations //source/...

答案 2 :(得分:1)

也许你可以生成 compile_commands.json 文件。我已经创建了Shell脚本(在Linux下)来自动执行:https://github.com/vincent-picaud/Bazel_and_CompileCommands