我有一个名为 test_linked_list() 的函数,它使用一系列 if 语句来测试数据结构。如果测试失败,它会调用 return 0。
// ie.
test_linked_list() {
if(!insert_end(l,10))
return 0;
// ... more tests
}
我想知道哪个测试失败了。除了在 gdb 中手动设置断点并使用
next
查看调用了哪个 return 0
之外,还有其他方法吗?例如,GDB 脚本?
还有别的办法吗?
一种简单的方法,使用 UNIX 约定
return 0
表示成功,使用 return 1
、return 2
等表示不同的失败。
请注意,编译器〜始终为每个函数使用 single
return
;不存在“哪个返回”——一旦函数被编译,它们都是相同的。