debugging 如何使用GDB检查函数调用返回的位置?

t9eec4r0  于 2023-10-24  发布在  其他
关注(0)|答案(1)|浏览(223)

我有一个叫做test_linked_list()的函数,它使用一系列if语句来测试一个数据结构。如果测试失败,它就调用return 0。

// ie.
test_linked_list() {
    if(!insert_end(l,10)) 
        return 0;
    // ... more tests
}

我想知道哪个测试失败了。除了在gdb中手动设置断点并使用next查看调用了哪个return 0之外,还有其他方法吗?例如,GDB脚本?

hivapdat

hivapdat1#

还有别的办法吗?
一种简单的方法是使用UNIX约定,成功时使用return 0,失败时使用return 1return 2等。
注意,编译器总是为每个函数使用 * 单个 * return;没有“which return”--一旦函数被编译,它们都是一样的。

相关问题