Frage

Ist es möglich, dass ich die Zeilennummer und den Dateinamen (für mein Programm mit Ltrace/Strace) zusammen mit den Call-/System -Call -Informationen der Bibliothek anzeigen kann.

Z.B:

code section :: ptr = malloc(sizeof(int)*5); (file:code.c, line:21)

Ltrace oder ein anderes Werkzeug: malloc(20) :: code.c::21

Ich habe alle Optionen von Ltrace/Strace ausprobiert, kann aber keinen Weg finden, um diese Informationen zu erhalten.

Wenn nicht durch ltrace/strace möglich, haben wir eine parallele Tooloption für GNU/Linux?

War es hilfreich?

Lösung

Möglicherweise können Sie die verwenden -i Option (Ausgabe des Befehlszeigers zum Zeitpunkt des Anrufs) in strace und ltrace, kombiniert mit addr2line So beheben die Anrufe an Codezeilen.

Andere Tipps

Nein, es ist nicht möglich. Warum benutzt du GDB nicht zu diesem Zweck?

Wenn Sie die Anwendung mit GCC -Flaggen zusammenstellen, um Debugger -Informationen in Ihr Programm zu erhalten, und dann Ihr Programm mit GDB oder gleichwertigem Frontend ausführen (DDD oder ähnliches)

Hier ist ein schnelles GDB -Handbuch, mit dem Sie ein wenig helfen können.http://www.cs.cmu.edu/~gilpin/tutorial/

Sie können Strace-Plus verwenden, das Stapelspuren sammelt, die jedem Systemaufruf zugeordnet sind.http://code.google.com/p/strace-plus/

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top