c++ - 如何从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]
(gdb) bt
No stack.

最佳答案

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

关于c++ - 如何从googletest中的异常中获取回溯信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26581066/

相关文章:

c++ - 从 CMake 创建 Visual Studio 项目,Visual Studio 找不到可执行文件

c++ - wxWidgets 2.8.12 无法在代码块中工作

ios - 无法进入 Xcode 4.2/iOS 5.0 库中的特定函数

c# - 我应该抛出 ArgumentException 吗?

c++ - 如何在 C++ 中检测字符串输入的文件结尾

c++ - MALLOC_CHECK_ 不报告违规

Windows VEH - 捕获并丢弃 SINGLE_STEP 异常

java - 将 ArrayList 转换为数组

c++ - 调试时如何在满足if语句中的条件时停止

debugging - IIS Express Azure Web 角色 URL 卡在 127.255.0.0 :82