Comment l'outil XCode Instrument Leak détermine-t-il si un objet est une fuite ou s'il n'est pas encore sorti? Je suis assez nouveau pour Objective C, l'outil de détection de fuites détecte une fuite dans le code avec lequel je travaille. Mais le code me semble bien. Donc, je me demande juste combien puis-je faire confiance à cet outil?Comment fonctionne la détection de fuite de mémoire XCode?
Répondre
Une "fuite" en tant qu'objet qui est toujours alloué, mais votre application n'a plus de référence pointant vers cet objet. Puisque vous n'avez plus de référence, vous ne pourrez pas libérer l'objet, donc c'est une fuite.
Comme le dit leaks(1) man page:
identifie les fuites mémoire des fuites - mémoire que l'application a alloué, mais a été perdu et ne peuvent pas être libérés. Plus précisément, les fuites examinent la mémoire d'un processus spécifié pour les valeurs qui peuvent être des pointeurs vers des tampons alloués par malloc. Tout tampon accessible à partir d'un pointeur dans la mémoire inscriptible, un registre, ou sur la pile est supposé être de la mémoire en cours d'utilisation. Tout tampon accessible à partir d'un pointeur dans un tampon pouvant être atteint est également supposé être utilisé. Les tampons qui ne sont pas accessibles sont des fuites; les tampons ne pourraient jamais être libérés parce qu'aucun pointeur existe en mémoire dans la mémoire tampon, et donc libre() ne pourraient jamais être appelés pour ces tampons
Vous pouvez également regarder dans l'outil ObjectAlloc d'instruments.
- 1. Détection de fuite de mémoire VisualVM
- 2. Détection de fuite de mémoire GCC équivalente à Microsoft crtdbg.h?
- 3. Windows API appelle la détection de fuite de mémoire
- 4. Profilage d'utilisation de la mémoire Perl et détection de fuite?
- 5. Techniques de détection de fuite de mémoire IIS
- 6. débogage de fuite de mémoire
- 7. AudioServicesCreateSystemSoundID fuite de mémoire?
- 8. Fuite de mémoire de suivi
- 9. Comment vérifier la fuite de mémoire?
- 10. comment réparer la fuite de mémoire?
- 11. Vérifier la fuite de mémoire
- 12. Fuite de mémoire pour UIImageView?
- 13. istream_iterator fuite de mémoire
- 14. GetOracleDecimal fuite de mémoire
- 15. ListView fuite de mémoire?
- 16. Fuite de mémoire ToolStrip
- 17. javascript fuite de mémoire
- 18. détecter la fuite de mémoire dans C
- 19. Fuite de mémoire PosgresSQL
- 20. mod_perl fuite de mémoire
- 21. Fuite de mémoire cachée
- 22. JAXBContext.newInstance fuite de mémoire
- 23. NSString fuite de mémoire?
- 24. Fuite de mémoire AVAudioPlayer
- 25. Fuite de mémoire SendToAsync?
- 26. stringWithContentsOfURL fuite de mémoire
- 27. Déboguer la détection de fuite de mémoire de tas - des résultats étranges?
- 28. Sélénium RC fuite de mémoire
- 29. Ajax fuite de mémoire
- 30. mutableCopy fuite de mémoire
Merci, je comprends ce qu'est la fuite, je me demande simplement si XCode a la réputation de donner de fausses alarmes. Merci de me signaler l'outil ObjectAlloc, j'ai trouvé quel est le problème avec son aide. Il y a effectivement une fuite. –
L'outil de fuites s'est beaucoup amélioré au fil du temps. Il crache rarement un faux positif ces jours-ci. Très rarement. – bbum