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

Bazel build verbose compiler commands logging

如何增加构建过程的冗长程度? Bazel 似乎只有在构建过程中出现问题时才会打印编译器命令。

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

这可能是您要找的:

bazel build --subcommands //my:target

--subcommands 选项使 Bazel 的执行阶段在执行每个命令之前打印完整的命令行。

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

从 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/...