如何调试bazel c++;visualstudio代码中的google测试 我有VisualStudio代码,使用了类似于的命令构建的C++ BaZelt测试 bazel test //tensorflow/lite/kernels:xxx_test --test_arg=gtest_filter=XXXTest -c dbg gdb ./bazel-bin/tensorflow/lite/kernels/xxx_test.runfiles/org_tensorflow/tensorflow/lite/kernels/xxx_test

如何调试bazel c++;visualstudio代码中的google测试 我有VisualStudio代码,使用了类似于的命令构建的C++ BaZelt测试 bazel test //tensorflow/lite/kernels:xxx_test --test_arg=gtest_filter=XXXTest -c dbg gdb ./bazel-bin/tensorflow/lite/kernels/xxx_test.runfiles/org_tensorflow/tensorflow/lite/kernels/xxx_test,c++,tensorflow,visual-studio-code,googletest,bazel,C++,Tensorflow,Visual Studio Code,Googletest,Bazel,然后我可以像这样使用gdb调试它 bazel test //tensorflow/lite/kernels:xxx_test --test_arg=gtest_filter=XXXTest -c dbg gdb ./bazel-bin/tensorflow/lite/kernels/xxx_test.runfiles/org_tensorflow/tensorflow/lite/kernels/xxx_test 但这是在VS代码中正确调试它的另一种方法吗? 我安装了谷歌测试插件,但它没有看到

然后我可以像这样使用gdb调试它

bazel test //tensorflow/lite/kernels:xxx_test --test_arg=gtest_filter=XXXTest -c dbg
gdb ./bazel-bin/tensorflow/lite/kernels/xxx_test.runfiles/org_tensorflow/tensorflow/lite/kernels/xxx_test
但这是在VS代码中正确调试它的另一种方法吗? 我安装了谷歌测试插件,但它没有看到它们,也没有gtest.exe


谢谢

使用Google测试适配器插件时,以下步骤对我很有效。转到
Debug->Add Configuration…
向您的
launch.json
文件添加新的启动目标,并在
“程序”
下填写程序路径(请注意,此处的相对路径对我不适用,因此您可能需要填写完整路径):

通过在代码中设置断点,然后按
F5
,检查是否可以正确调试应用程序

如果可行,请转到Google测试适配器插件,将鼠标悬停在左侧(通常显示可用的测试),并在显示“Google测试”的栏中(使用所有运行和停止按钮),按下双箭头
,然后在上述调试配置上设置挂钩。现在按下
runall
应该可以正常工作


让我知道它是否有效,如果无效,哪些步骤无效。

没有“gtest.exe”是什么意思?您可以在
“程序”
下的
launch.json
文件中指定要调试的程序(您的
../kernels/xxx\u test
)。但这是非常笨拙的。我在命令行中运行,然后将这一行复制到我的launch中。我曾经做过GTEST,有一个非常好的插件,当我能够看到所有的测试时,等等!工作完美。谢谢。我尝试了另一个插件