GDB Frage: "Pretty Printing", ein 2D-Array?
Ich habe ein 2d-array matrix[10][10], dass ich möchte, um zu prüfen auf debug-Zeit.
Ich verstehe, dass ich kann diesen in GDB mit
p *matrix@10
Aber es gibt Folgendes in einer Zeile, so dass es schwer zu Lesen.
Gibt es eine Möglichkeit, diese formatierte Ausgabe in keiner Weise, sagen wir in einer matrix?
- in C++ oder objective C oder C oder was?
- In jedem von Ihnen, sagen wir ich habe ein array int matrix[10][10].
set print array on
machen gdb Druck ziemlich
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einem wichtigen Merkmal der GDB ist die Fähigkeit der Ausführung von Funktionen in der ausgetesteten code, so dass Sie implementieren können, unabhängig von Druck, die Sie mögen, zum Beispiel:
Nach dem kompilieren dieses Codes mit dem Schalter-g und läuft unter GDB können Sie das print-Funktion wie folgt:
Konnte man immer eine Funktion definieren, die in GDB, um das gleiche zu tun. Wenn Sie die folgenden c-code:
Könnte man dann definieren Sie die folgenden GDB-Funktion (oder so ähnlich):
dazu führen würde, dass die folgende Ausgabe:
Könnten Sie einfach mit geschachtelten while-Schleifen in Ihre GDB-Funktion. Und, wie bereits in einer vorherigen Antwort, können Sie immer rufen Sie einfach die Funktion printArray in Ihr Programm innerhalb von GDB.
Dies ist eine weitere hilfreiche Erweiterung der letzten post.
Sie können auch verwenden: print var @cols@Zeilen
Können Sie dies tun?:
Funktioniert es in lldb - Habe nicht versucht, es in gdb. Es scheint viel einfacher.