7
votes

Objective-C iPhone App exc_breakpoint (Sigtrap)

J'ai récemment publié une application il y a environ un mois, c'était minutieusement testé par moi-même, mon partenaire et testerers bêta. Récemment, un utilisateur m'a contacté à propos de l'application qui ne pouvait même pas ouvrir (accidents après le démarrage de l'écran), ils ont le système d'exploitation correct et ils ont essayé de réinstaller.

J'ai demandé le journal des crash et ils m'envoyaient ... xxx

Je n'arrive pas à trouver un problème dans mon application, quel type de problèmes causent Exc_breakerpoint (Sigtrap)? Je suppose que l'erreur est dans mon appdelegate car elle se bloque juste après l'écran de démarrage.


2 commentaires

J'ai reçu un rapport d'accident d'un utilisateur qui ressemble exactement à celui-ci (les adresses hexagonales). Avez-vous déjà trouvé la cause fondamentale?


Non, je ne l'ai pas fait, je leur ai dit de l'enlever complètement et de le télécharger à nouveau. Je n'ai pas entendu parler d'eux, donc ils ont abandonné ou cela a fonctionné. C'était la seule plainte jusqu'à présent que j'ai reçue.


4 Réponses :



1
votes

C'est une trace de pile assez étrange. Il se bloque à DYLD (le chargeur de bibliothèque dynamique). Cela suggère qu'il a du mal à charger une bibliothèque ou un cadre dynamique, ce qui signifie qu'il est dans le chargement du code système (puisque vous ne pouvez pas avoir une bibliothèque dynamique de 3RDParty sur un iPhone standard). Remarquez comment dans la section Images binaires, votre code ne semble même pas être chargé (ni le reste de la décharge tronquée)? Faites-vous un chargement manuel de bibliothèques dynamiques ( dlopen () ou similaire)? Même si vous étiez, vous vous attendez à principal () sur la pile si votre programme avait en fait chargé ...

Lorsque vous dites qu'ils ont essayé de réinstaller, je suppose que vous voulez dire votre application? Cela signifie-t-il qu'ils ont supprimé votre application et ensuite la réinstaller, ou autre chose? La cause la plus probable qui vient à l'esprit est la corruption du paquet. Mais vous penseriez que la suppression et la réinstallation résolvent cela. Plus agressif serait supprimer, redémarrer, puis réinstaller.

Ma prochaine question serait de savoir si c'est un iPhone jailbreaké. Je demanderais à l'utilisateur de redémarrer l'iPhone s'ils ne l'ont pas déjà fait. Je serais même tenté de leur demander de faire une restauration du système d'exploitation, mais c'est toujours une chose délicate à demander à un client de faire.


1 commentaires

Je leur ai dit simplement de désinstaller l'application puis de réinstaller, je ne sais pas si elles redémarèrent mais je leur dirai de le faire essayer. Je ne fais pas de chargement manuel de bibliothèques. Si cela vient pire, je verrai s'ils sont disposés à réinstaller un système d'exploitation. Je ne pense pas que ce soit jailBroken ... Je devais les aider juste à trouver leur version du système d'exploitation et des bûches de collision, et ils n'étaient même pas sûrs de la taille de l'iPod touch. Donc, je ne pense pas qu'ils sont ils tapent à la jailbreak mais je me trompe peut-être.



0
votes

Il y a une règle générale avec les bûches de crash: si le backtrage est inutile, regardez la sortie du journal de la console.

Dans ce cas, qu'est-ce qui se passe probablement est que vous utilisez des choses non présentes dans une ancienne version du système d'exploitation. Lorsque DYLD (le chargeur dynamique) tente de résoudre les symboles à temps de chargement, il ne trouve pas certains d'entre eux et que le symbole ou la bibliothèque n'est pas faible. Le journal de la console doit dire quel symbole / bibliothèque n'a pas réussi à charger.

Dans le cas commun, vous pouvez simplement modifier le cadre de "requis" à "faible".


0 commentaires