Regarder les variables dans Xcode
Je suis en train de regarder une variable avec Xcode. Je suis en suivant les instructions de la section ici, en s'arrêtant à un point d'arrêt, sélectionnez Exécuter > Variables d'Affichage > .... mais, à l'exception de "Permettre de Données de Formateurs" le reste des options sont toutes grisées. Des idées?
Je suis en utilisant Xcode version 3.1.3.
- une fois que vous atteignez un point d'arrêt, vous devriez être en mesure de passer votre souris sur un point d'arrêt pour afficher les variables d'info.
- Êtes-vous sûr que vous exécutez une version de débogage avec l'optimisation éteint?
- J'ai essayé une version de débogage à la place de la libération, mais le problème persiste.
- À noter que "les points d'observation" sont différents des "points d'arrêt". Les premiers sont pour la surveillance de l'un particulier des données d'adresses, ce sont ces derniers pour s'arrêter à une ligne de code.
Vous devez vous connecter pour publier un commentaire.
Je n'ai pas eu de points d'observation créé à partir du menu Exécuter le travail pour moi non plus, malheureusement. Une chose d'être conscient, c'est que lorsqu'une variable est hors de portée, celui-ci peut devenir non valide.
Si vous n'avez pas l'esprit un peu plus en profondeur, vous pouvez utiliser certaines de bas niveau
gdb
commandes pour définir un point d'observation pour l'adresse de la mémoire elle-même. Par exemple, dans le guide, vous liés à, ils montrent comment regarder la variablepath
qui est un pointeur avec la valeur0xbfffeb70
. Pour définir manuellement un point d'observation pour cette adresse, cliquez sur dans la console du débogueur (d'où la sortie de débogage est imprimé) après l' "(gdb)" invite de commande et tapez quelque chose comme ceci:La syntaxe cryptique est nécessaire parce que gdb prévoit des entrées que C expressions. Pour un peu plus de détails, visitez ce lien et de sauter à la section intitulée "à l'Aide de matériel de points d'observation". (Je suis en essais sur un ordinateur Intel, vous ne savez pas comment PowerPC gère.) Lorsque vous définissez les points d'observation de cette façon, Xcode, vous alerte avec une liste déroulante feuille d'un point d'observation est atteint et vous dire la façon dont la valeur a été modifiée, et gdb va imprimer les mêmes infos dans la console.
watch -location mTextFormatted
. A révélé un méchant bug lié à l'électricité statique vs dynamique de fonte 😉watchpoint set expression -- 0xbfffeb70
ouw s e -- 0xbfffeb70
pour faire court.Je viens de tomber sur ce problème. Voici une solution: clic droit sur le nom de la variable et sélectionnez "Afficher la variable dans la fenêtre" dans le menu qui s'affiche. Il doit être près du fond.
Ajouter un point d'arrêt. Faites un clic droit dans la liste de surveillance de debug domaine et de choisir "Ajouter une expression..."
Si vous obtenez un menu différent, vous devez vous cliquez en dehors de la mise en évidence de variables, de sorte que rien n'est mis en surbrillance lorsque vous faites un clic droit.
Les Réponses données ici ne fonctionne que si vous utilisez le
gdb
compilateur. Pour ceux d'entre vous qui sont à la recherche d'une option pour définir un point d'observation avec lelldb
compilateur j'ai de mauvaises nouvelles:Il ne fonctionne pas de jet (XCode 4.3.2 avec lldb 3.1), même si les
lldb
docs disent que vous pouvez.Découvrez cette e-Mail. Le
lldb
commandes par rapport à lagdb
s peut être trouvé iciwa s e -- <addr>
a fonctionné pour moi, par exemple:wa s e -- 0xbfffeb70
J'essayais de comprendre cela dans XCode 5. J'ai enfin trouvé une "vue des Variables" bouton en bas à droite de la sortie de la console. C'est le petit rectangle qui sera gris sur la gauche, en blanc, sur la droite, si elle n'est pas activée. Je ne sais pas si c'est dans XCode 3, mais je m'attends à la plupart des gens ont mis à jour de toute façon.