快速确定函数返回的位置

时间:2012-04-30 10:03:47

标签: c gdb

我有一个很长的C函数,可以return在不同的行。是否可以让GDB运行该函数并打印出return函数的哪一行?到目前为止,我一次经历一行(使用n),这变得乏味。

我可以用GDB动态调用函数并知道它返回的是哪一行吗?

1 个答案:

答案 0 :(得分:3)

如果您正在使用GCC进行编译并且可以编辑代码,那么一个讨厌的技巧就是做一个宏并搜索+替换编辑器中的所有返回...

int global_return_lineno;
#define return2(x) {global_return_lineno=__LINE__;return(x);}

然后调用该函数并检查全局变量。