检查GDB中的函数返回值

时间:2022-08-16 20:45:53

If I break in line 3:

如果我在第3行打破:

1  int foo()
2  {
3      return func();
4  }

is there a way to examine the return value of func()?

有没有办法检查func()的返回值?

Thanks.

4 个解决方案

#1


Use the finish command.

使用finish命令。

#2


After line three the return value will be in EAX, so you can

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

print $eax

Hope this helps

希望这可以帮助

#3


If you step into "func()", and then say "finish", gdb will return to foo and print the return value of func.

如果你单步执行“func()”,然后说“完成”,gdb将返回foo并打印func的返回值。

#4


I answered a simular question here, info frame is a platform independent way todo this.

我在这里回答了一个类似的问题,信息框架是一种独立于平台的方式。

#1


Use the finish command.

使用finish命令。

#2


After line three the return value will be in EAX, so you can

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

print $eax

Hope this helps

希望这可以帮助

#3


If you step into "func()", and then say "finish", gdb will return to foo and print the return value of func.

如果你单步执行“func()”,然后说“完成”,gdb将返回foo并打印func的返回值。

#4


I answered a simular question here, info frame is a platform independent way todo this.

我在这里回答了一个类似的问题,信息框架是一种独立于平台的方式。