我正在构建的bazel二进制文件在分析阶段完成失败。我可以使用哪些标志和工具来调试分析过程中失败的原因。
目前,clean build返回以下输出
ERROR: build interrupted
INFO: Elapsed time: 57.819 s
FAILED: Build did NOT complete successfully (133 packages loaded)
如果我在完成失败后重试构建,我会收到以下输出
ERROR: build interrupted
INFO: Elapsed time: 55.514 s
FAILED: Build did NOT complete successfully (68 packages loaded)
我可以使用哪些标志来识别
基本上,类似于--verbose_failures,但是对于分析阶段而不是执行短语。
到目前为止,我已经通过构建分析器运行了我的构建,并且无法收集任何洞察力。这是我构建的输出:
WARNING: This information is intended for consumption by Blaze developers only, and may change at any time. Script against it at your own risk
INFO: Loading /<>/result
INFO: bazel profile for <> at Mon Jun 04 00:10:11 GMT 2018, build ID: <>, 49405 record(s)
INFO: Aggregating task statistics
=== PHASE SUMMARY INFORMATION ===
Total launch phase time 9.00 ms 0.02%
Total init phase time 91.0 ms 0.16%
Total loading phase time 1.345 s 2.30%
Total analysis phase time 57.063 s 97.53%
Total run time 58.508 s 100.00%
=== INIT PHASE INFORMATION ===
Total init phase time 91.0 ms
Total time (across all threads) spent on:
Type Total Count Average
=== LOADING PHASE INFORMATION ===
Total loading phase time 1.345 s
Total time (across all threads) spent on:
Type Total Count Average
CREATE_PACKAGE 0.67% 9 3.55 ms
VFS_STAT 0.69% 605 0.05 ms
VFS_DIR 0.96% 255 0.18 ms
VFS_OPEN 2.02% 8 12.1 ms
VFS_READ 0.00% 5 0.01 ms
VFS_GLOB 23.74% 1220 0.93 ms
SKYFRAME_EVAL 24.44% 3 389 ms
SKYFUNCTION 36.95% 8443 0.21 ms
SKYLARK_LEXER 0.19% 31 0.29 ms
SKYLARK_PARSER 0.68% 31 1.04 ms
SKYLARK_USER_FN 0.03% 5 0.27 ms
SKYLARK_BUILTIN_FN 5.91% 349 0.81 ms
=== ANALYSIS PHASE INFORMATION ===
Total analysis phase time 57.063 s
Total time (across all threads) spent on:
Type Total Count Average
CREATE_PACKAGE 0.30% 138 3.96 ms
VFS_STAT 0.05% 2381 0.03 ms
VFS_DIR 0.19% 1020 0.35 ms
VFS_OPEN 0.04% 128 0.61 ms
VFS_READ 0.00% 128 0.01 ms
VFS_GLOB 0.92% 3763 0.45 ms
SKYFRAME_EVAL 31.13% 1 57.037 s
SKYFUNCTION 65.21% 32328 3.70 ms
SKYLARK_LEXER 0.01% 147 0.10 ms
SKYLARK_PARSER 0.03% 147 0.39 ms
SKYLARK_USER_FN 0.20% 343 1.08 ms
就我的命令而言,我正在运行
bazel build src:MY_TARGET --embed_label MY_LABEL --stamp --show_loading_progress
答案 0 :(得分:1)
使用--host_jvm_debug
启动标志在构建期间调试Bazel本身。
来自https://bazel.build/contributing.html:
调试Bazel
开始为C ++和C ++创建调试配置 您
.bazelrc
中的Java包含以下内容:build:debug -c dbg build:debug --javacopt="-g" build:debug --copt="-g" build:debug --strip="never"
然后,您可以使用
bazel build --config debug //src:bazel
重建Bazel,并使用您喜欢的调试器开始调试。要调试C ++客户端,您可以从
gdb
或lldb
运行它 你通常会。但是,如果要调试Java代码,则必须 使用以下命令附加到服务器:
在命令之前使用调试选项
--host_jvm_debug
运行Bazel(例如bazel --batch --host_jvm_debug build //src:bazel
)。将调试器附加到端口
5005
。例如,使用jdb
,运行jdb -attach localhost:5005
。在Eclipse中,使用遥控器 Java应用程序启动配置。- 我们的IntelliJ插件具有内置调试支持