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

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

DDD
DDDoriginal
2024-10-27 19:53:30503parcourir

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()

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

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:
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