Par exemple, je sais que 0x46767f0 appartient à un NSString *, est-ce que je peux trouver ce que NSString est pour m'aider à trouver quelques bogues que je cherche?GDB: Obtenir un nom de symbole à partir d'une adresse mémoire
Répondre
Je crois que vous êtes à la recherche:
info symbol <addresss>
Imprimer le nom d'un symbole qui est stocké à l'adresse addr. Si aucun symbole n'est stocké exactement à addr, GDB imprime le symbole le plus proche et un décalage de celui-ci.
Exemple:
(gdb) info symbol 0x400225
_start + 5 in section .text of /tmp/a.out
(gdb) info symbol 0x2aaaac2811cf
__read_nocancel + 6 in section .text of /usr/lib64/libc.so.6
Vous pouvez en lire davantage here.
S'il s'agit d'une variable de pile, je n'ai aucun moyen de le faire. Sinon, essayez p/a <pointer symbol or address>
et il imprimera le nom du symbole (ou le décalage au nom du symbole le plus proche).
po 0x46767f0
enverra un message -description
à l'objet. Cela imprimera le contenu de votre NSString mais je suggère d'utiliser la réponse de Brian pour vérifier le contenu de votre adresse avant d'envoyer des messages aléatoires à des adresses aléatoires.
gdb> Liste * 0xAABBCCDD
qui vous indique le nom et le numéro de ligne.
Seulement si vous avez la chance d'avoir des symboles de débogage ... – Equidamoid
- 1. Dans XS, comment obtenir une adresse de variables à partir de son nom?
- 2. Comment obtenir un nom de fichier à partir d'un chemin?
- 3. Actionscript 3: Comment puis-je obtenir le nom du symbole, et non le nom de l'instance
- 4. Obtenir le nom d'une DLL à partir de la DLL
- 5. gdb breakpoint sur pthread_create
- 6. Comment obtenir un tableau de valeurs de propriétés distinctes à partir de listes de mémoire?
- 7. Comment obtenir une référence à un contrôle à partir de son nom de chaîne en C#
- 8. sun.misc.Unsafe: Comment obtenir les octets d'une adresse
- 9. Une primitive est-elle affectée à une adresse mémoire?
- 10. Obtenir BSSID (adresse MAC) du point d'accès sans fil à partir de C#
- 11. Comment obtenir une adresse IP dans un PageMethod?
- 12. Renvoi de% 40 à un symbole @
- 13. passer un bloc de mémoire à partir d'une fonction
- 14. Comment puis-je obtenir un sélecteur à partir de son nom?
- 15. comment obtenir un nom d'utilisateur à partir de la clé oauth dans twitter
- 16. Comment puis-je déterminer un CLLocation ou un MKPlacemark à partir d'une adresse?
- 17. Comment résoudre un nom de domaine à une adresse IP avec .NET/C#?
- 18. Extraire le nom de domaine à partir d'un nom d'hôte
- 19. Comment puis-je démarrer un programme interactif (comme gdb) à partir de python?
- 20. Sélectionnez le même nom de client mais son adresse client est différente. Adresse
- 21. Comment obtenir seulement un nom de fichier?
- 22. Obtenir un élément à partir d'un iFrame
- 23. Comment obtenir un nom d'artiste à partir d'un fichier musical en utilisant php ..?
- 24. Comment passez-vous les arguments (ie le nom binaire) à la commande Emacs gdb?
- 25. Obtenir une adresse à l'aide des deux crochets et esperluette
- 26. Comment obtenir une adresse en C?
- 27. Obtenir le nom de l'instance de compteur de performance (w3wp # XX) à partir de ASP.NET ID du processus de travail
- 28. Obtenir une adresse IP "réelle" avec VB.NET?
- 29. Obtenir le nom de la base de données à partir de DDL Trigger
- 30. comment obtenir l'adresse MAC d'un client à partir de HttpServlet?
Le lien 'ici' est mort. Quelqu'un peut-il le mettre à jour? –