So wollte ich alle Netzwerk-Dump ich als lesbare Daten protokollieren. Ich habe den protokollierten Speicherauszug erfolgreich in ihre jeweiligen Strukturen gemappt (mit memcpy) und wünsche nun, dass die gleichen Klassenwerte gedruckt werden (ohne eine print() Funktion per se zu definieren).Gibt es eine Möglichkeit, alle Klassendaten zu drucken
Mit dem Qt-Debugger (der gdb verwendet, wenn ich mich richtig erinnere), kann ich Haltepunkte verwenden, um die Werte in einer Datei zu sehen und sogar zu kopieren. In Anbetracht der Tatsache, dass die Anwendung einige Zeit dauern kann, um den Dump in lesbare Daten zu verarbeiten und zu konvertieren, ist es mir möglich, das System zum Kopieren der Debug-Informationen in eine Datei zu automatisieren?
Ich habe die Dokumentation gdb durchlaufen und konnte keine Funktion für das gleiche finden. Die meisten Online-Lösungen beinhalten das Erstellen einer print() -Funktion für jede Klasse.
Die Frage unterscheidet sich von How to get all properties/variables of a class at runtime/dynamically in C++: Die Frage fragt, wie Sie den Datentyp @ Runtime erhalten können. Ich definiere andererseits den Datentyp während der Kompilierung (in einer * .h-Header-Datei, die alle Strukturinformationen enthält und sogar alle Werte auf die Variable abbildet). Das Problem dreht sich hauptsächlich um die Tatsache, dass die Daten zum Drucken über einen Debugger angesehen werden können; Ich möchte die Anzeige und das Kopieren derselben auf eine Datei/Konsole automatisieren.
Mögliches Duplikat von [Wie alle Eigenschaften/Variablen einer Klasse zur Laufzeit/dynamisch in C++ abgerufen werden] (http://stackoverflow.com/questions/4017708/how-to-get-all-properties-variables-of -a-class-at-runtime-dynamisch-in-c) – jpo38
Siehe den verknüpften Beitrag oben. Da es keine Möglichkeit gibt, eine Liste von Attributen aus einer Klasse zu erhalten, gibt es keine Möglichkeit, sie zu drucken! – jpo38
Sie suchen nach einer Serialisierung. Sehen Sie sich http://www.boost.org/doc/libs/1_63_0/libs/serialization/doc/ an. Seien Sie gewarnt, dass dies überhaupt nicht mit C# oder Java vergleichbar ist, die in die Sprache integriert sind. –