web-dev-qa-db-fra.com

(null) libc ++ abi.dylib: terminer appelé en lançant une exception

J'utilise Xcode 4.5PR et iOS 6beta 2.

Je n'ai modifié aucun code, mon application génère une exception mentionnée dans le titre.

J'ai utilisé la fenêtre de débogage qui fonctionnait à l'origine de cette exception, mais

0x38dda960:  Push   {r4, r5, r6, r7, lr}

Comment puis-je trouver un problème? Comment puis-je le réparer?

18
Masaru Kitajima

Si vous ne changez rien, cela pourrait simplement être lié à la version bêta d'iOS 6 telle qu'elle est actuellement.

Cependant, pour ceux qui googuent sur cette erreur, voici quelques suggestions générales:

1) Cela pourrait être le simulateur que vous avez choisi pour construire le même code pour:

Si vous n'avez modifié aucun code source, assurez-vous que votre schéma pointe toujours sur le même simulateur sur lequel il a travaillé en dernier. (Par exemple, essayer de présenter un contrôleur de vue modale (presentModalViewController:), tout en oubliant d'utiliser conditionnellement un popover pour iPad, pourrait être la cause de ce problème.)

2) Si la trace de la pile et la console ne sont pas utiles:

Parfois, les seules choses dans la pile sont main et UIApplicationMain, ce qui rend difficile la recherche de ce qui ne va pas dans votre propre source. Ceci est probablement le signe que quelque chose échoue dans une méthode d'infrastructure native que vous appelez ou que vous faites appeler.

Si aucune méthode ou aucun objet spécifique n'est répertorié dans la console et que le suivi de la pile ne pointe vers aucune méthode de vos propres classes, essayez de restreindre l'exécution au plus près du point où l'exception est levée. Lorsque je choisis des points d'arrêt dans l'obscurité, j'ai tendance à utiliser une approche de recherche binaire, à choisir un point pivot, à monter et descendre dans l'ordre d'exécution et à choisir un nouveau point "à mi-chemin" si nécessaire.

12
Old McStopher

Définissez un point d'arrêt sur les exceptions C++ pour rechercher où il est lancé.

enter image description here

20
Keith

Parfois, cela peut arriver si vous manquez simplement d'une bibliothèque - je faisais un exemple d'application rapide avec MKMapView et cette erreur se produisait avant d'ajouter MapKit.framework à mon projet.

0
cowfaboo

Une raison pour que cette erreur se produise ...

J'ai eu cette erreur après avoir changé le nom de certaines variables iboutlet dans mes fichiers .h et .m mais pas dans les liens du storyboard pour ces variables. Après avoir refait les liens, tout a fonctionné à nouveau. J'espère que cela peut aider certains d'entre vous.

0
maxagaz

Cette exception peut se produire pour diverses raisons. La meilleure façon de trouver la cause exacte est de regarder console. Vous y trouverez un texte comme celui-ci: 

*** lorem ipsum lorem ipsum lorem ipsum
*** First throw call stack: (0x1d16012 0x16c3e7e 0xa4ef96 0x607704 0x6079a2 0x606876 0x617cb5 0x618beb 0x60a698 0x2b81df9 0x2b81ad0 0x1c8bbf5 0x1c8b962 0x1cbcbb6 0x1cbbf44 0x1cbbe1b 0x60617a 0x607ffc 0x1d1d 0x1c45) libc++abi.dylib: terminate called throwing an exception
 

Ici, le texte lorem ipsum avant First throw call stack indiquera le problème exact pour lequel une exception est levée. Résolvez ce problème et vous êtes prêt à partir.

0
Saurabh Hooda

Cela m’arrivait et je suis parti quand j’ai mis -ObjC dans "Autres drapeaux de lieur"

0
funkybro

Cela se produit ici lorsque je pose une contrainte sur un objet i.o.s. l'assigner à la superview

0
BarryK88

Cette erreur survient généralement lorsque vous supprimez manuellement votre story-board de votre projet et réutilisez votre viewcontroller pour qu'il soit utilisé sans story-board. Assurez-vous que votre contrôleur de vue est ajouté au contrôleur de vue racine de votre fenêtre dans votre AppDelegate et que l'initialisation du contrôleur de vue ne porte pas de nom de nib (puisque vous l'auriez supprimé lors de la suppression de votre storyboard) - ET LE PLUS IMPORTANT de supprimer les lignes de votre liste fichier indiquant à l'application qu'un fichier de story-board doit exister, tel que "Nom de base du fichier de story-board (iPad)" ou "Nom de base du fichier de story-board (iPhone)". Une fois que ceux-ci auront disparu, votre application cessera de chercher un scénarimage et vous serez comme un golden retriever!

0
ColossalChris

Je me suis retrouvé coincé pendant un bon moment, puis j'ai découvert que je pouvais obtenir la pile de trace EXACT de l'exception par définition d'un point d'arrêt pour toutes les exceptions.

0
Walty Yeung

Un problème de temps se produit lorsque l'utilisateur importe n'importe quelle structure. Importez donc également cette structure dans un fichier .pch dans le dossier de ressources de l'application.

0
Shiv Kumar

Assurez-vous que vous utilisez la version de prévisualisation du développeur (4.5) de xcode et que vous n'avez pas ouvert la version de publication (4.3.3) et que la version bêta d'iOS est identique à celle de. impossible d'exécuter l'application sur iOS 6 bêta après la mise à jour des paramètres du projet sur iOS 6, l'application ne s'exécutera plus sur les appareils iOS 5.xx les uns sur les autres.

0
Develomentional