Gdb在简单的std :: string uncaught异常上没有堆栈

时间:2010-08-13 08:13:20

标签: c++ gdb

我在gdb上有点新手,所以这里有:

我正在研究cpp单元测试操作。我尝试使用无效参数(如null_char)构造字符串对象,但程序期望给出异常:)。当我尝试使用gdb调试应用程序时,我在崩溃后键入bt,但它没有给我堆栈消息。 为什么会发生这种情况的任何想法?提前谢谢。

2 个答案:

答案 0 :(得分:2)

也许堆栈没用,因为异常永远不会被捕获?请注意gdb中的catchpoints:

catch throw
抛出异常时

中断。

catch catch
捕获异常时

中断。

答案 1 :(得分:1)

-g选项添加到编译器命令行以添加调试符号。这对gdb很有帮助。