„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie drucke ich Vektorelemente in C++ mit GDB?

Wie drucke ich Vektorelemente in C++ mit GDB?

Veröffentlicht am 07.11.2024
Durchsuche:393

How to Print Vector Elements in C   Using GDB?

Drucken von Vektorelementen in C über GDB

Beim Debuggen von C-Code in GDB kann die Untersuchung des Inhalts eines std::vector eine Herausforderung sein . Betrachten Sie beispielsweise einen std::vector mit dem Namen myVector. Wie drucken wir seine Elemente effektiv aus?

In GCC 4.1.2 umfasst die Lösung den Zugriff auf den internen Zeiger des Vektors, myVector._M_impl._M_start, der auf das Array zeigt, das die Elemente des Vektors enthält.

Um den gesamten Vektor zu drucken, verwenden Sie:

print *(myVector._M_impl._M_start)@myVector.size()

Um nur die ersten N Elemente zu drucken, ändern Sie es wie folgt:

print *(myVector._M_impl._M_start)@N

Reasoning

Dieser Ansatz nutzt den GDB-Befehl, um N Elemente eines Arrays beginnend bei a zu drucken gegebener Zeiger. In diesem Fall ist der Zeiger myVector._M_impl._M_start, und wir geben die Anzahl der zu druckenden Elemente mit myVector.size() oder der gewünschten Anzahl N an.

Während dieser Ansatz auf GCC 4.1.2 anwendbar ist , es kann je nach Compiler-Version variieren. Für andere Versionen wird daher empfohlen, die entsprechende Dokumentation zu konsultieren.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3