So betreten Sie eine Funktion, jedoch nicht ihre Parameter mit GDB
Wie Sie vielleicht wissen, können Sie in GDB mit step(s)
Befehl eine Funktion aufrufen . Aber s
untersuchen und Schritt in die Parameter der Funktion auf den ersten. Zum Beispiel für die folgende Funktion:
foo(bar(1));
eintreten foo
, eintreten bar
und dann eintreten foo
. Das Betreten der Parameter wird ärgerlich, sobald die Anzahl der Parameter immer größer wird. Ist es möglich, foo
mit GDB direkt in die Ausführung einzusteigen und die Parameter zu überspringen?
Ich weiß, dass ich einen Haltepunkt setzen kann foo
:) Ich suche nach anderen Lösungen.
Antworten
Bei komplexen Anrufen:
printf("%d %d\n", function(), next_function());
Ich "gehe zu" mit step
dieser Zeile und dann einen einzelnen Schritt si
hinein. Es werden einzelne Schritte in die erste aufgerufene Funktion ausgeführt. Dann können finish
Sie raus und si
wieder in die nächste Funktion.