2009-06-14 18 views
9

Wenn ich breche in Zeile 3:Prüfungsfunktion Rückgabewert in GDB

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

ist es eine Möglichkeit, den Rückgabewert von func() zu untersuchen?

Danke.

+0

Dup von http://stackoverflow.com/questions/267674/inspect-the-return-value-of-a-function-in-gdb. –

+1

Mögliches Duplikat von [Überprüfen Sie den Rückgabewert einer Funktion in gdb] (http://stackoverflow.com/questions/267674/inspect-the-return-value-of-a-function-in-gdb) –

Antwort

14

Verwenden Sie den Befehl finish.

2

Nach Zeile drei der Rückgabewert wird in EAX sein, so können Sie

print $eax 

this helps

+5

Das stimmt nur auf i386/amd64. –

1

Ich beantwortete eine ähnliche Frage here, Info-Frame ist eine Plattform unabhängige Art todo dies.

2

Wenn Sie in "func()" treten und dann "finish" sagen, gibt gdb an foo zurück und druckt den Rückgabewert von func.