Xcode en permanence se bloque thread donné 1 exc_bad_access (code=2 adresse=0x8)
après des recherches sur cette erreur que j'ai remarqué c'est un code spécifique, mais tout projet, je cherche à faire, charge, etc garde qui me donne le même message d'erreur et est toujours en citant les différentes parties du code avec ce message d'erreur, mais parce que des premiers programmes que j'setup, qui ont exactement le code par défaut rien de moins rien de plus et de recevoir toujours les mêmes erreurs que je ne vois pas comment l'ajout de mon journal d'erreur susceptible de l'aider. Remarque cette erreur se produit lors de l'utilisation de sprite kit dans Xcode 5 et suis en cours d'exécution ce sur os x 10.8.5 merci d'avance pour votre patience, de la compréhension et espérons une réponse.
OriginalL'auteur mhamer13 | 2014-01-19
Vous devez vous connecter pour publier un commentaire.
exc_bad_access est habituellement causée par ce qui est connu comme une balançant pointeur d'accès à un objet qui a déjà été libéré.
De débogage, activer zombie objets:
Passer un peu de temps pour apprendre l'Objective-C de comptage de référence du modèle de mémoire conserve, les rejets, les conserver-cycles et autorelease piscines.
Vous devez vous assurer que votre objet est conservé aussi longtemps que son utilisation. Dans l'ARC (Automatic Reference Counting - la valeur par défaut pour iOS), cela signifie généralement la définition d'une propriété ou d'ivar pour tout objet qui sera utilisé dans plusieurs classes - désignation d'un objet comme le "propriétaire" de cet objet. Il sera ensuite libéré avec l'objet qui "possède".
Un bon moyen d'obtenir une compréhension de l'Objective-C modèle de mémoire et de la façon dont l'ARC fonctionne, c'est d'essayer en utilisant le manuel de gestion de la mémoire sur un projet de compagnie (quelque chose avec au moins 2 ou 3 de la vue des contrôleurs). Une fois que vous êtes à l'aise avec le manuel de gestion de la mémoire, de l'ARC va être super facile, et vous fait économiser du temps, de taper et d'éviter d'oublier de libérer un objet alloué. La plupart/tous Objective-C fondamentaux livres couvrent la gestion de la mémoire. (J'ai oublié le nom de celui que j'ai lu).
Une Cause Commune
Disons que vous avez un UIViewController et d'un point de Vue que vous souhaitez à présent à l'intérieur de votre vue actuelle du contrôleur. . . sa répartie comme suit:
'anotherController' va maintenant être libéré parce qu'il n'est plus utilisé. Si anotherController.point de vue a unsafe_unretained références à anotherController qu'il va provoquer une exc_bad_access.
Une Récursion Infinie:
Une autre cause de EXC_BAD_ACCESS est infini recurssion, qui peut être réglé par l'ajout d'un log consolidés - il va bientôt devenir apparente alors!
Nice - merci de soulever une autre question plus spécifique si vous êtes coincé le long du chemin.
Modifier le schéma et sélectionnez " Activé Zombies case - Comment faites-vous cela?
J'ai ajouté une photo. Cliquez déroulante en haut à gauche, choisissez modifier le régime.
c'est très bien expliqué.. mais dans mon cas, je viens de nettoyer et re-construire à nouveau résolu mon problème. Remarque: j'utilise swift 4, xcode, 9.2 et mon problème cause par une structure (struct).
OriginalL'auteur Jasper Blues