我有一个很长的C函数,可以return
在不同的行。是否可以让GDB运行该函数并打印出return
函数的哪一行?到目前为止,我一次经历一行(使用n
),这变得乏味。
我可以用GDB动态调用函数并知道它返回的是哪一行吗?
答案 0 :(得分:3)
如果您正在使用GCC进行编译并且可以编辑代码,那么一个讨厌的技巧就是做一个宏并搜索+替换编辑器中的所有返回...
int global_return_lineno;
#define return2(x) {global_return_lineno=__LINE__;return(x);}
然后调用该函数并检查全局变量。