我在gdb上有点新手,所以这里有:
我正在研究cpp单元测试操作。我尝试使用无效参数(如null_char)构造字符串对象,但程序期望给出异常:)。当我尝试使用gdb调试应用程序时,我在崩溃后键入bt,但它没有给我堆栈消息。 为什么会发生这种情况的任何想法?提前谢谢。
答案 0 :(得分:2)
也许堆栈没用,因为异常永远不会被捕获?请注意gdb中的catchpoints:
catch throw
抛出异常时中断。
catch catch
捕获异常时中断。
答案 1 :(得分:1)
将-g
选项添加到编译器命令行以添加调试符号。这对gdb
很有帮助。