如何从googletest中的异常中获取回溯信息?

een*_*eer 4 c++ debugging gdb exception googletest

我正在尝试做一些半测试驱动的设计,偶尔当我实现一个新功能时,它会在某处出现异常。所有 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.
Run Code Online (Sandbox Code Playgroud)

ks1*_*322 7

catch throw在抛出异常之前,使用gdb 命令设置特殊断点。当它被击中时,您可以像往常一样通过 command 看到回溯bt。请参阅https://sourceware.org/gdb/onlinedocs/gdb/Set-Catchpoints.html。