GOOGLE ADS

Freitag, 29. April 2022

Debuggen von C++-STL-Containern in Windbg

Windbg-Fans behaupten, dass es ziemlich mächtig ist, und ich neige dazu, dem zuzustimmen. Aber wenn es um das Debuggen von STL-Containern geht, stecke ich immer fest. Wenn sich die Variable auf dem Stack befindet, findet die !stlErweiterung sie manchmal heraus, aber wenn sich ein Container mit einem komplexen Typ (z. B. std::vector<TemplateField, std::allocator<TemplateField> >) auf dem Heap befindet oder Teil einer anderen Struktur ist, weiß ich einfach nicht, wie ich seinen Inhalt anzeigen soll.

Schätzen Sie alle Tipps, Hinweise.


Lösung des Problems

Ich finde die Debugger-Unterstützung für STL-Datentypen oft unzureichend. Aus diesem Grund verwende ich zunehmend Logging Frameworks und Logging Statements. Früher dachte ich, dass diese für Leute sind, die keinen Debugger verwenden können, aber jetzt erkenne ich, dass sie einen echten Wert bieten. Sie ermöglichen es Ihnen, portables Debugging-Wissen in Ihren Code einzubetten und es zusammen mit dem Code zu pflegen. Im Gegensatz dazu ist die Arbeit, die Sie im Debugger ausführen, normalerweise kurzlebig.

Keine Kommentare:

Kommentar veröffentlichen

Warum werden SCHED_FIFO-Threads derselben physischen CPU zugewiesen, obwohl CPUs im Leerlauf verfügbar sind?

Lösung des Problems Wenn ich das richtig verstehe, versuchen Sie, SCHED_FIFO mit aktiviertem Hyperthreading ("HT") zu verwenden, ...