Maison > développement back-end > C++ > Comment imprimer des éléments d'un vecteur C dans GDB ?

Comment imprimer des éléments d'un vecteur C dans GDB ?

DDD
Libérer: 2024-10-27 19:53:30
original
648 Les gens l'ont consulté

How to Print Elements of a C   Vector in GDB?

Impression des éléments d'un vecteur C dans GDB

Lors du débogage du code C dans GDB, vous devrez peut-être examiner le contenu d'un vecteur. Pour ce faire avec un vecteur d'entiers (std::vector), suivez ces étapes :

Impression du vecteur entier :

print *(myVector._M_impl._M_start)@myVector.size()
Copier après la connexion

Cette expression accède au pointeur vers le tableau interne du vecteur (_M_impl._M_start) et imprime le nombre d'éléments spécifié (myVector.size()).

Impression uniquement des N premiers éléments :

print *(myVector._M_impl._M_start)@N
Copier après la connexion

Remplacez N par le nombre d'éléments que vous souhaitez imprimer.

Explication :

  • Le pointeur vers le tableau interne est stocké dans _M_impl._M_start.
  • La commande GDB pour imprimer N éléments d'un tableau commençant au pointeur P est : print P@N.
  • La taille totale du vecteur peut être obtenue en utilisant myVector .size().

Remarque : Cette approche peut varier en fonction de la version de votre compilateur. Pour GCC 4.1.2, cette méthode a été testée pour fonctionner efficacement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal