C++ 如何在googletest中从异常中获取回溯信息?

C++ 如何在googletest中从异常中获取回溯信息?,c++,debugging,exception,gdb,googletest,C++,Debugging,Exception,Gdb,Googletest,我试图做一些半测试驱动的设计,偶尔当我实现一个新特性时,它会在某个地方出现异常。gtest只告诉我异常是什么,不给我任何回溯信息 如果我运行gdb--args--gtest_catch_exceptions=0,它将在测试时停止并出现异常,但没有任何回溯信息。它只是说: [ RUN ] TESTNAME.test_case EXCEPTION: exception description[Inferior 1 (process 30528) exited with code 0377]

我试图做一些半测试驱动的设计,偶尔当我实现一个新特性时,它会在某个地方出现异常。gtest只告诉我异常是什么,不给我任何回溯信息

如果我运行gdb--args--gtest_catch_exceptions=0,它将在测试时停止并出现异常,但没有任何回溯信息。它只是说:

[ RUN      ] TESTNAME.test_case
EXCEPTION: exception description[Inferior 1 (process 30528) exited with code 0377]
(gdb) bt
No stack.

在抛出异常之前,使用
catch throw
gdb命令设置特殊断点。当它被击中时,您可以像往常一样通过命令
bt
看到回溯。请参阅。

以一种更自动的方式,您可以通过使用调试符号额外打印回溯来合并失败测试用例的输出?您是否尝试过禁用内联以查看它是否清除堆栈跟踪?第一个链接broken@sandwood已修复。第一个链接再次断开。现在在这里: