À l'heure actuelle, j'ai utilisé GDB pour démonter un fichier binaire et vérifier différents registres et autres joyeusetés. Y at-il une commande facile à examiner tout sur la pile? Cela peut-il être limité à tout dans une fonction?Comment puis-je examiner le cadre de la pile avec GDB?
Répondre
Pour le cadre de la pile actuelle:
- Info cadre liste des informations générales sur le cadre (où les choses commencent à la mémoire, etc.)
- args info listes d'arguments à la fonction
- info locales répertorie les variables locales stockées dans le cadre
bt
(oubacktrace
) vous donnera une pile d'appels.frame <args>
vous donnera des informations sur une trame spécifique de la pile.info locals
peut vous fournir des informations sur les variables locales de la pile.
Vous pouvez afficher le contenu de la pile avec x/10x $sp
Ce imprimera les 10 premiers éléments de la pile.
Quelle version de GDB est-ce? Je ne peux pas obtenir gdb pour utiliser les registres comme arguments de commande sur GDB 7.7-0ubuntu3.1 – nightpool
@nightpool fonctionne pour moi sur 7.7.1-0ubuntu5 ~ 14.04.2 –
Cette réponse vous indique comment réellement regarder les octets sur la pile cadre, que j'ai eu du mal à trouver comment faire. Merci! –
- 1. Accès aux informations de cadre dans gdb
- 2. comment utiliser gdb pour explorer la pile/tas?
- 3. Utilisation de GDB pour inspecter la pile de la machine
- 4. Débogueur capable de visualiser la pile avec un diagramme
- 5. Comment examiner le contenu d'un vecteur std :: dans gdb, en utilisant le compilateur icc?
- 6. Le vidage du noyau n'est pas synchronisé avec la trace de la pile gdb
- 7. Utilisez GDB pour examiner la classe Objective C de l'accident (HandleDelegateSource mauvais accès)
- 8. Comment la pile, le tas et le cadre correspondent-ils conceptuellement aux constructions C#?
- 9. Que signifie la deuxième colonne de la trace de la pile gdb?
- 10. gdb déterminer la taille de la pile, conditionnelle dans la liste de commandes
- 11. Conflit de nom de variable avec le débogueur GDB
- 12. Naviguer dans la pile d'appel Java dans Eclipse
- 13. Pause de la boucle d'exécution à l'intérieur de gdb
- 14. comment puis-je voir la trace de la pile après le processus est tué?
- 15. Cadre basé sur les composants et sur la pile complète?
- 16. Taille de la pile récursive
- 17. Utilisation de GDB avec des bibliothèques externes
- 18. Comment afficher la pile d'appels avec DTrace
- 19. Comment obtenir une trace de pile entière dans gdb en un coup?
- 20. Débogage Android avec GDB
- 21. Dessiner un cadre de pile pour l'assemblage x86
- 22. Comment accéder au cadre de la pile lors du débogage du programme ASP.net?
- 23. Problème gdb avec la redirection stdin
- 24. Comment lancer gdb avec -quiet dans xcode
- 25. Comment examiner les constantes définies en PHP?
- 26. Comment obtenir la pile de pile dans un appareil mobile?
- 27. Allocation de chaîne sur la pile
- 28. Redémarrer la machine cible distante avec gdb
- 29. Vider une pile de 3V avec Labview pour tester la durée de vie de la pile?
- 30. Utilisation de gdb avec des fonctions en ligne
Cela devrait vous aider: http://cs.nyu.edu/courses/spring07/V22.0474-001/misc/gdb-refcard.pdf. Vous pouvez toujours utiliser la commande "frame" pour sauter entre les images. – dicaprio