0

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

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

4

1 回答 1

3

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

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

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

于 2012-04-30T10:31:47.597 回答