在GDB中检查函数返回值

11
如果我在第三行中断:
1  int foo()
2  {
3      return func();
4  }
有没有一种方法可以检查 func() 的返回值?
谢谢。

重复问题:https://dev59.com/C3VC5IYBdhLWcg3whRgw。 - Paul Biggar
2
可能是在gdb中检查函数的返回值的重复问题。 - Ciro Santilli OurBigBook.com
4个回答

19

3

在第三行之后,返回值将在EAX中,因此您可以

print $eax

希望这能帮到你。

7
这只适用于i386/amd64。 - David Schmitt

3
如果你进入了“func()”,然后输入“finish”,gdb将返回到foo并打印func的返回值。

2

我在这里回答了一个类似的问题,使用info frame是一种平台无关的方法来实现这个功能。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接