2009-11-15 4 views
0

J'essaie d'être un bon programmeur et de réparer les fuites dans mon application iPhone ... Je ne peux pas comprendre ce que la Stack Trace in Leaks essaie de me dire. Il y a des appels de pile multicolores et je suppose que chaque couleur signifie quelque chose, mais quoi? Aussi dans la capture d'écran ci-dessous tous les appels dans la trace de la pile ne proviennent d'aucune de mes classes, cela signifie-t-il que la fuite est causée par le code dans le SDK iPhone ou un message ? Peut-être que toutes les couleurs peuvent m'indiquer sur cette question?Quelqu'un pourrait-il expliquer les couleurs et la signification de trace de strack dans l'outil Instruments d'Apple?

Instruments Stack Trace Screenshot

alt text http://blog.underplot.com/files/leaks.png

Merci

Répondre

4

Les couleurs (couleurs) sont les types de bibliothèques que votre code est Employant (ce qui signifie souvent des choses que vous n'appelez pas explicitement - les appellent Instruments le ' bibliothèques responsables. '). Si vous désactivez l'option 'color by library' dans le menu des paramètres en haut de la cellule Stack Trace, les cellules blanches/bleues seront rétablies afin de ne pas vous distraire.

Parmi les couleurs que je l'ai vu:

  • rose = noyau Fondation
  • Brown = WebCore
  • cyan = A.Dylib
  • vert clair = B.Dylib
  • Violet = Fondation
  • Khaki = AppKit

Vous lisez normalement la pile de bas en haut (ou inversez cet ordre dans les paramètres, et vous pouvez activer les numéros d'image et les icônes de fichier pour chacun des éléments pour vous aider à le garder droit.)