44

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

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

4

3 回答 3

64

这可能是您正在寻找的:

bazel build --subcommands //my:target

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

于 2015-09-29T06:34:08.343 回答
12

有用信息取自 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/...
于 2018-05-11T20:23:20.337 回答
1

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

于 2017-06-29T09:41:39.070 回答