Question

Je suis en train d'utiliser symbolicatecrash, et ayant des résultats intéressants. Un collègue de travail construit notre construction de distribution sur une autre machine, donc il m'a envoyé le fichier dSYM. Après avoir exécuté le fichier symbolicatecrash trouvé dans

/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash

il remplit toutes les fonctions d'Apple, mais pas à moi. Le problème semble être qu'il ne peut pas (ou pas) localiser le fichier dSYM, potentiellement, car il a mon informations sur la machine d'un collègue en elle. Lorsque je copie l'adresse hexadécimale du rapport d'accident que je peux utiliser dwarfdump comme ceci:

dwarfdump --lookup 0x0001f892 --arch ARMv6 path / to / MyApp.app.dSYM

Il me donne le numéro de ligne de cet appel unique correctement. En outre, symbolicatecrash est en mesure de travailler sur les numéros de ligne du jeu de notre code, mais pas Apple. Je ne sais pas pourquoi il ne peut pas voir des trucs d'Apple, mais tout cela me porte à croire que le problème est de trouver le dSYM, comme mentionné précédemment.

. Est-il possible de passer simplement le chemin du dSYM dans la commande symbolicatecrash, ou d'une autre façon de le faire fonctionner? Parce que, sérieusement, il est tout à fait stupide de faire un outil qui fait une sorte de magie « recherche » pour votre fichier, pour trouver pas parce qu'il ne veut pas.

En outre, toute idée pourquoi la construction de mon collègue de travail ne montre aucune des fonctions d'Apple? Et pendant que je suis là, qu'est-ce que signifie le « + » dans le fichier de l'accident? Comme ceci:

0x00059f8c - [UIWindow sendEvent:] + 108

Était-ce utile?

La solution

symbolicatecrash est un bidouille géant, le meilleur que vous pouvez faire est d'apprendre à faire les choses exactement comme il attend de vous. Ou le lire et de le fixer internals, mais vous devez re-fixer pour la prochaine mise à jour du SDK ...

Dans ce cas, je pense que votre problème est que vous n'avez pas placé fichier dSYM dans le même dossier que le paquet d'application. Il doit être exactement comme XCode gauche, et il devrait être dans un endroit où spot trouvera. De plus, assurez-vous que les noms sont exactement comme prévu -. Enveloppe exacte de « dSYM » est important, et j'ai entendu qu'il n'y a pas de points sont pris en charge dans le nom de l'application en raison d'un bug

En cas de doute toujours essayer l'option -v pour obtenir une erreur plus détaillée messaged.

Il n'y a pas d'information de numéro de ligne pour les binaires Apple, personnellement, je suis super heureux d'avoir au moins les noms de fonction. Cela aurait pu être pire.

"- [UIWindow sendEvent:] + 108" signifie 108 octets à partir du début de la fonction. La seule interprétation utile de ces données est que si le nombre est petit, il est probablement exact, si le nombre est grand votre symbolication est détraqué.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top