如何从谷歌测试中的异常中获取回溯信息
How to get backtrace information from exception in 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.
以一种更自动的方式,您可以添加自己的监听器,然后通过使用How to make backtrace()/backtrace_symbols()打印函数名来额外打印回溯,从而组合失败测试用例的输出?
相关文章:
- 获取 glViewport(0, 0, framebufferWidth, framebufferHight) 的异常抛
- 获取指向派生类的指针在 C++ 中以运行时异常结束
- CPP 异常获取抛出调用方的详细信息
- 从处理程序捕获时如何获取 Ada 异常消息C++?
- C 获取std :: out_of_range异常的位置
- 推荐一种在未输入获取行分隔符时引发异常的方法?
- 获取浮点异常:8
- 在Visual Studio Community中使用glfw3 glew和opengl获取访问冲突异常
- 运行正则表达式时未选中的异常 - 从文件路径获取不带扩展名的文件名
- 在进程外使用MiniDumpWriteDump时,如何获取异常信息
- 从out_of_range异常获取键
- 根据CIN类型插入空隙*?始终获取unsigned_char的访问异常
- 获取谷歌测试异常抛出消息
- 从用catch(..)捕获的异常中获取一些信息
- 获取错误:浮点异常
- 从ASSERT_THROW获取异常消息
- 如何使用 JNI 时获取 C++ 中 Java 异常的描述
- 如何同时获取 what() 和回溯跟踪未捕获的异常
- 错误地使用fprintf?获取异常 第一次机会异常
- 如何从异常获取用户错误消息