如何找到 cc 文件的构建目标位置
How can I find the build-dest-position of a cc file
例如common_shape_fns_test.cc
,我搜索这个字符串并在BUILD
文件中找到它,然后我搜索tf_cc_tests
。终于找不到提示了
我想直接运行调试,所以需要找位置
您可以使用 bazel query
。 IE,使用来自 Bazel Query howto
的 recipe
fullname=$(bazel query tensorflow/core/framework/common_shape_fns_test.cc)
bazel query "attr('srcs', $fullname, ${fullname//:*/}:*)"
>>
//tensorflow/core:framework_common_shape_fns_test
//tensorflow/core:all_files
如果您要查找构建的二进制 Bazel 的位置,它将打印在 Bazel 的输出中,例如,
$ bazel build //foo/bar:baz
...
Target //foo/bar:baz up-to-date:
bazel-bin/foo/bar/baz
bazel-bin/foo/bar/baz
是构建输出。
不过,一般来说,只要知道生成输出文件的 BUILD 文件,就总能找到输出文件。如果 BUILD 文件是 tensorflow/core/BUILD
,那么输出将在 bazel-bin/tensorflow/core
下(或者,如果它是一个 genrule,bazel-genfiles/tensorflow/core
)。
例如common_shape_fns_test.cc
,我搜索这个字符串并在BUILD
文件中找到它,然后我搜索tf_cc_tests
。终于找不到提示了
我想直接运行调试,所以需要找位置
您可以使用 bazel query
。 IE,使用来自 Bazel Query howto
fullname=$(bazel query tensorflow/core/framework/common_shape_fns_test.cc)
bazel query "attr('srcs', $fullname, ${fullname//:*/}:*)"
>>
//tensorflow/core:framework_common_shape_fns_test
//tensorflow/core:all_files
如果您要查找构建的二进制 Bazel 的位置,它将打印在 Bazel 的输出中,例如,
$ bazel build //foo/bar:baz
...
Target //foo/bar:baz up-to-date:
bazel-bin/foo/bar/baz
bazel-bin/foo/bar/baz
是构建输出。
不过,一般来说,只要知道生成输出文件的 BUILD 文件,就总能找到输出文件。如果 BUILD 文件是 tensorflow/core/BUILD
,那么输出将在 bazel-bin/tensorflow/core
下(或者,如果它是一个 genrule,bazel-genfiles/tensorflow/core
)。