我找到了链接,展示了如何运行单元测试。
我认为通过调试单元测试可以更好地理解源代码。
我可以像运行TensorFlow Python应用程序一样调试源代码。但是我不知道如何调试单元测试。我对bazel和gdb调试还不熟悉。
回答:
总结如下:
- 你必须先确保测试二进制文件已构建:可以通过运行
bazel test <target>
或bazel build <target>
或bazel build -c dbg <target>
来构建。最后一个选项会生成完全可调试的可执行文件,在gdb回溯中提供行号信息。 - 二进制文件与BUILD文件位于同一目录下(即,如果你有
tensorflow/core/BUILD
,那么二进制文件将位于bazel-bin/tensorflow/core
下) - 你可以通过bazel query找到包含给定
.cc
文件的bazel目标名称。例如,对于common_shape_fns_test
,你可以使用下面的命令找到目标名称为//tensorflow/core:framework_common_shape_fns_test
。
fullname=$(bazel query tensorflow/core/framework/common_shape_fns_test.cc)bazel query "attr('srcs', $fullname, ${fullname//:*/}:*)"