Automatisches Hinzufügen von Enter / Exit-Funktionsprotokollen zu einem Projekt

Ich habe einen Quellcode von Drittanbietern, den ich untersuchen muss. Ich möchte sehen, in welcher Reihenfolge die Funktionen aufgerufen werden, aber ich möchte meine Zeit nicht mit der Eingabe verschwenden:

printf("Entered into %s", __FUNCTION__)

und

printf("Exited from %s", __FUNCTION__)

Ich möchte für jede Funktion auch keine Quelldatei berühren.

Hast du irgendwelche Vorschläge? Gibt es ein Compiler-Flag, das dies für mich automatisch erledigt?

Erläuterungen zu den Kommentaren:

Ich werde die Quelle übergreifend kompilieren, um sie auf ARM auszuführen.Ich werde es mit gcc kompilieren.Ich möchte den statischen Code nicht analysieren. Ich möchte die Laufzeit verfolgen. So macht mir Sauerstoff das Leben nicht leichter.Ich habe die Quelle und kann sie kompilieren.Ich möchte keine aspektorientierte Programmierung verwenden.

BEARBEITEN: Ich habe festgestellt, dass der Befehl 'frame' in der gdb-Eingabeaufforderung den aktuellen Frame (oder den Funktionsnamen, könnte man sagen) zu diesem Zeitpunkt ausgibt. Möglicherweise ist es möglich (mithilfe von GDB-Skripten), den Befehl 'frame' jedes Mal aufzurufen, wenn eine Funktion aufgerufen wird. Was denkst du?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage