Impression du tableau des caractères au fichier GDB
J'ai un tableau de caractères avec environ 100 entrées. Il semble que lorsque dans la fonction que j'
print *buffer
c'est se couper prématurément. est-ce que je peux faire pour allonger la quantité de caractères gdb va imprimer à la console? Si non, puis-je imprimer cette variable de fichier? J'ai essayé d'utiliser les commandes d'image, mais ne pourrais pas réussi à trouver la bonne chose.
À partir de votre description, il semble que votre tableau est en fait un pointeur. Avez-vous spécifier une longueur d'impression lorsque vous en a donné l'ordre?
Eh bien, il est transmis à la fonction **tampon à partir de la fonction appelante.
Alors, comment est GDB censé savoir combien de temps il est?
Je trouve ça beaucoup plus facile de définir des fonctions dans le code qui effectuer le vidage des données, et de les appeler directement à partir de gdb. (Envelopper les définitions de la
Pas plus facile si vous êtes le débogage de code de production. 😉
Eh bien, il est transmis à la fonction **tampon à partir de la fonction appelante.
Alors, comment est GDB censé savoir combien de temps il est?
Je trouve ça beaucoup plus facile de définir des fonctions dans le code qui effectuer le vidage des données, et de les appeler directement à partir de gdb. (Envelopper les définitions de la
#ifdef DEBUG
)Pas plus facile si vous êtes le débogage de code de production. 😉
OriginalL'auteur Derek | 2013-01-30
Vous devez vous connecter pour publier un commentaire.
Si vous voulez le caractère ASCII symboles imprimés ainsi, l'utilisation
x/<size>c
.BTW, je suis entièrement d'accord avec William Pursell commentaire sous votre question: "je trouve ça beaucoup plus facile de définir des fonctions dans le code qui effectuer le vidage des données, et de les appeler directement à partir de gdb. (Envelopper les définitions de la #ifdef DEBUG)"
voir mise à jour.
OriginalL'auteur phonetagger
Je pense que vous voulez quelque chose comme ceci:
La commande dump est un peu délicat à utiliser. Il faut un début à une fin de l'adresse, et les expressions qui indiquent que dump (vous pouvez utiliser
value
au lieu dememory
pour spécifier une expression, si cela fonctionne pour vous, mais parfois je préfère être précis.) Mais il semble (que j'ai testé ci-dessus) que vous pouvez utiliser des expressions de toute façon, comme je l'ai précisé à la fin de l'adresse ci-dessus dans les conditions de l'adresse de début je voulais dump, plus la quantité d'octets que je voulais.Vous pouvez aussi faire quelque chose comme ceci (transmettre dans l'expression qui donne la valeur du pointeur plutôt que la valeur du pointeur lui-même):
Pour plus d'informations, voir la la documentation ici.
OriginalL'auteur mpontillo
Pour imprimer nombre illimité de caractères de la console utiliser
OriginalL'auteur Brice M. Dempsey
Personnellement, j'utilise python embarqué pour l'immersion des données.Par exemple:
OriginalL'auteur Jacek Czaja