2010-05-12 3 views
4

Ainsi, dans l'ensemble, je déclare la chaîne suivante:Assemblée GDB Imprimer Chaîne

Sample db "This is a sample string",0 

gdb type I "p échantillon" (sans les guillemets) et il crache sur 0x73696854. Je veux que la chaîne actuelle soit imprimée. J'ai donc essayé "printf"% s ", Sample" (encore une fois, sans guillemets) et il crache "Impossible d'accéder à la mémoire à l'adresse 0x73696854."

Version courte: Comment imprimer une chaîne dans GDB?

Répondre

8

Mon professeur m'a envoyé un courriel. Pour tous ceux qui le demandent:

p(char[20]) Sample 

Où 20 est le nombre de caractères à imprimer.

Pour imprimer un style C NUL chaîne à terminaison, vous devez également être en mesure de le faire:

print (char*) &Sample 
printf "%s", &Sample 
5

J'ai eu le même problème! Essayez celui-ci:

x/s &Sample # prints the whole string 

"x" - Se tient généralement pour examiner des données.

Pour un caractère signle vous pouvez youse ce code

x/c &Sample # prints: "T" 

Et si vous voulez voir plusieurs caractères que vous pouvez donner le nombre de caractères souhaités

x/3c &Sample # prints: "T" "h" "i" 
Questions connexes