Question

Je suis à la recherche d'essayer de symbolicate mes rapports de plantage de l'application iPhone.

Je récupérai les rapports de plantage d'iTunes Connect. Je le binaire d'application que je soumettais à l'App Store et je le fichier dSYM qui a été généré dans le cadre de la construction.

J'ai tous ces fichiers ensemble dans un seul répertoire qui est indexé par Spotlight.

Et maintenant?

J'ai essayé d'invoquer:

symbolicatecrash crashreport.crash myApp.app.dSYM

et il produit juste le même texte qui est dans le rapport de l'accident pour commencer, pas symbolicated.

Est-ce que je fais quelque chose de mal?

Était-ce utile?

La solution

Les étapes pour analyser le rapport d'accident de la pomme:

  1. Copiez le fichier .app de libération qui a été poussé à l'appstore, le fichier .dSYM qui a été créé au moment de la libération et le rapport d'accident recevoir d'Apple dans un FOLDER .

  2. application du terminal OPEN et allez dans le dossier créé ci-dessus (en utilisant la commande cd)

  3. Exécuter atos -arch armv7 -o APPNAME.app/APPNAME MEMORY_LOCATION_OF_CRASH. L'emplacement de mémoire doit être celle à laquelle l'application est écrasé selon le rapport.

Ex: atos -arch armv7 -o 'APPNAME.app'/'APPNAME' 0x0003b508

Cela vous montrer la ligne exacte, le nom de la méthode qui a donné lieu à l'accident.

Ex: [classname functionName:]; -510

Symbolicating IPA

si nous utilisons IPA pour symbolicating - il suffit de renommer le extention .ipa avec .zip, extraire alors nous pouvons obtenir un dossier Payload qui contient l'application. Dans ce cas, nous ne avons pas besoin fichier .dSYM.

Remarque

Cela ne peut fonctionner que si le binaire d'application n'a pas des symboles dénudés. En version par défaut builds dépouillé les symboles. Nous pouvons changer dans les paramètres de construction projet « symboles de débogage bande lors de la copie » NO.

Plus de détails voir cette après

Autres conseils

Après avoir lu toutes ces réponses ici afin de symbolicate un journal de plantage (et réussir enfin) Je pense qu'il ya quelques points manquants ici qui sont vraiment importantes afin de déterminer pourquoi l'invocation de symbolicatecrash ne produit pas une sortie symbolicated.

Il y a 3 actifs qui doivent tenir ensemble quand symbolicating un journal de plantage:

  1. Le fichier journal de l'accident lui-même (à savoir example.crash), soit exportés de l'organisateur de XCode ou reçu d'iTunes Connect.
  2. Le paquet .app (à savoir example.app) qui contient lui-même le binaire de l'application appartenant au journal des blocages. Si vous avez un paquet .ipa (à savoir example.ipa), vous pouvez extraire le paquet .app en décompressant le paquet .ipa (à savoir unzip example.ipa). Ensuite, le paquet de .app réside dans le dossier de Payload/ extrait.
  3. Le paquet .dSYM contenant les symboles de débogage (à savoir example.app.dSYM)

Avant de commencer symbolication vous devriez vérifier si tous ces objets correspondent, ce qui signifie que le journal de l'accident appartient au fichier binaire que vous avez et que les symboles de débogage sont ceux produits lors de la construction de ce binaire.

Chaque binaire est désignée par un UUID qui peut être vu dans le fichier journal de plantage:

...
Binary Images:
0xe1000 -    0x1f0fff +example armv7  <aa5e633efda8346cab92b01320043dc3> /var/mobile/Applications/9FB5D11F-42C0-42CA-A336-4B99FF97708F/example.app/example
0x2febf000 - 0x2fedffff  dyld armv7s  <4047d926f58e36b98da92ab7a93a8aaf> /usr/lib/dyld
...

Dans cet extrait le journal crash appartient à une application image binaire nommé example.app/example avec UUID aa5e633efda8346cab92b01320043dc3.

Vous pouvez vérifier l'UUID du paquet binaire que vous avez avec dwarfdump:

dwarfdump --uuid example.app/example
UUID: AA5E633E-FDA8-346C-AB92-B01320043DC3 (armv7) example.app/example

Ensuite, vous devriez vérifier si les symboles de débogage que vous avez appartiennent également à ce binaire:

dwarfdump --uuid example.app.dSYM
UUID: AA5E633E-FDA8-346C-AB92-B01320043DC3 (armv7) example.app.dSYM/Contents/Resources/DWARF/example

Dans cet exemple, tous les actifs emboîtent et vous devriez être en mesure de symbolicate votre stacktrace.

Proceeding au script symbolicatecrash:

Dans Xcode 8.3, vous devriez être en mesure d'appeler le script via

/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash -v example.crash 2> symbolicate.log

Si ce n'est pas là, vous pouvez exécuter un find . -name symbolicatecrash dans votre répertoire Xcode.app pour le trouver.

Comme vous pouvez le voir, il n'y a plus de paramètres donnés. Ainsi, le script doit trouver votre binaire d'application et les symboles de débogage en exécutant une recherche de projecteur. Il recherche les symboles de débogage avec un index spécifique com_apple_xcode_dsym_uuids. Vous pouvez le faire vous-même recherche:

mdfind 'com_apple_xcode_dsym_uuids = *'

resp.

mdfind "com_apple_xcode_dsym_uuids == AA5E633E-FDA8-346C-AB92-B01320043DC3"

Le premier appel de projecteur vous donne tous les paquets dSYM indexés et le second vous donne les forfaits .dSYM avec un UUID spécifique. Si projecteur ne trouve pas votre forfait .dSYM alors symbolicatecrash ne sera ni. Si vous faites tout ce genre de choses, par exemple dans un sous-dossier de votre projecteur ~/Desktop devrait être en mesure de trouver tout.

Si symbolicatecrash trouve votre paquet .dSYM devrait y avoir une ligne comme suit dans symbolicate.log:

@dsym_paths = ( <SOME_PATH>/example.app.dSYM/Contents/Resources/DWARF/example )

Pour trouver votre paquet .app une recherche de projecteur comme ce qui suit est appelé par symbolicatecrash:

mdfind "kMDItemContentType == com.apple.application-bundle && (kMDItemAlternateNames == 'example.app' || kMDItemDisplayName == 'example' || kMDItemDisplayName == 'example.app')"

Si symbolicatecrash trouve votre paquet .app devrait y avoir l'extrait suivant symbolicate.log:

Number of symbols in <SOME_PATH>/example.app/example: 2209 + 19675 = 21884
Found executable <SOME_PATH>/example.app/example
-- MATCH

Si toutes ces ressources se trouvent par symbolicatecrash il devrait imprimer la version symbolicated de votre journal de plantage.

Sinon, vous pouvez passer dans votre dSYM et .app fichiers directement.

symbolicatecrash -v --dsym <SOME_PATH>/<App_URI>.app.dSYM/<APP_NAME>.app.dsym <CRASHFILE> <SOME_OTHER_PATH>/<APP_NAME>.app/<APP_NAME> > symbolicate.log

Remarque:. Le backtrace symbolicated sera sortie à la borne, non symbolicate.log

Avec la dernière version de Xcode (3.2.2), vous pouvez faire glisser et déposer des rapports d'erreur dans la section Journaux du périphérique de l'Organisateur Xcode et ils seront automatiquement symbolicated pour vous. Je pense que cela fonctionne mieux si vous avez construit cette version de l'application en utilisant Build & Archive (également partie de Xcode 3.2.2)

Je l'ai fait avec succès, en procédant comme suit.

Étape 1: Créez un dossier dans le bureau, je donne le nom à "CrashReport" et mettre trois fichiers ( "MYApp.app", "MyApp.app.dSYM", « MYApp_2013-07 -18.crash ") en elle.

Étape 2: Ouvrez le Finder et allez dans Applications, où vous trouverez l'application Xcode, un clic droit sur ce et cliquez sur « Afficher le contenu », après suivre cette voie simple.  "Contents-> Developer-> Platforms-> iPhoneOS.platform-> Developer-> Librairie-> PrivateFrameworks -> DTDeviceKit.framework -> versions-> A> Ressources"

ou

"Contents-> Developer-> Platforms-> iPhoneOS.platform-> Developer-> Librairie-> PrivateFrameworks -> DTDeviceKitBase.framework -> versions-> A> Ressources"

ou

Xcode 6 et au-dessus de la trajectoire est Applications / Xcode.app / Contenu / SharedFrameworks / DTDeviceKitBase.framework / Versions / A / Ressources

Si vous trouvez le fichier « symbolicatecrash », copiez et collez-le dans le dossier « CrashReport ».

Étape 3: lancer le terminal, exécutez ces 3 Commande

  1. cd / Users / mac38 / Desktop / CrashReport et appuyez sur Entrée bouton

  2. export DEVELOPER_DIR = "/ Applications / Xcode.app / Contents / développeur" et appuyez sur Entrée

  3. ./ symbolicatecrash -A -v MYApp_2013-07-18.crash MyApp.app.dSYM et appuyez sur Entrée Maintenant ses .. (Done REMARQUE: les versions autour de 6.4 ou ultérieure n'ont pas l'option -A - juste laisser out).

Étapes pour symbolicate un rapport de plantage automatiquement en utilisant Xcode:

MISE À JOUR DE XCODE 9

  1. Connectez-vous any appareil iOS à votre Mac (oui un physique, oui, je sais que c'est stupide)

  2. Choisissez "Devices" dans le menu "Fenêtre" entrer la description d'image ici

  3. Cliquez sur votre appareil sur le périphérique se connecte à gauche et à droite VIEW entrer la description d'image ici

  4. attendre. Il peut prendre une minute pour se manifester. Peut-être faire Command-A alors Delete va accélérer cela.

  5. étape critique non documentée: renommer le rapport d'accident que vous avez obtenu de iTunesConnect de l'extension de .txt à .crash extension

  6. Faites glisser le rapport d'accident dans cette zone à gauche entrer la description d'image ici

Et puis Xcode symbolicate le rapport d'accident et afficher les résultats.

Source: https://developer.apple.com/library/ ios / technotes / tn2151 / _index.html

J'utilise aérofreins dans mes applications, qui fait un assez bon travail de journalisation des erreurs à distance.

Voici comment je les symbolicate avec atos si le besoin backtrace:

  1. Dans Xcode (4.2) aller à l'organisateur, faites un clic droit sur l'archive à partir que le fichier .ipa a été généré.

  2. Dans Terminal, cd dans le xcarchive par exemple MyCoolApp 10-27-11 1.30 PM.xcarchive

  3. Entrez le atos -arch armv7 -o 'MyCoolApp.app'/'MyCoolApp' suivant (Ne pas oublier les guillemets simples)

  4. Je ne comprends pas mon symbole dans cet appel. Ce que vous obtenez est un bloc curseur sur une ligne vide.

  5. Puis-je copier / coller mon code de symbole à ce bloc curseur et appuyez sur entrer. Vous verrez quelque chose comme:

    -[MyCoolVC dealloc] (in MyCoolApp) (MyCoolVC.m:34)

  6. Vous êtes de retour à un bloc curseur et vous pouvez coller dans d'autres symboles.

Être capable de passer par votre backtrace un élément sans revenir dans le premier bit est un gain de temps agréable.

Amusez-vous!

J'ai aussi mis dsym, paquet d'applications, et le journal de plantage dans le même répertoire avant d'exécuter accident symbolicate

Puis-je utiliser cette fonction définie dans mon .profile pour simplifier l'exécution symbolicatecrash:

function desym
{
    /Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash -A -v $1 | more
}

Les arguments ajoutés il peut vous aider.

Vous pouvez vérifier que faire feu des projecteurs « voit » vos fichiers dysm en exécutant la commande:

mdfind 'com_apple_xcode_dsym_uuids = *'

Recherchez le dsym que vous avez dans votre répertoire.

NOTE: Depuis la dernière Xcode, il n'y a plus un répertoire des développeurs. Vous pouvez trouver cet utilitaire ici:

ions de /Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Vers / A / Resources / symbolicatecrash

Juste une réponse simple et mis à jour pour Xcode 6.1.1.

ÉTAPES

1.Xcode> Fenêtre> Périphériques.

2.Select un dispositif à partir d'une liste de dispositifs conformément à l'article DISPOSITIFS.

3.Sélectionnez Afficher les journaux de l'appareil.

4.En vertu de la section Tous les journaux vous pouvez faire glisser directement déposer le report.crash

5.Xcode automatiquement Symbolicate le rapport d'accident pour vous.

6.You peut trouver le rapport d'accident Symbolicated en faisant correspondre la date / heure avec la date / heure mentionnée dans votre rapport d'accident.

Même si j'avais été le développement d'applications depuis quelques années maintenant, ce fut ma première fois le débogage d'un binaire et je me sentais comme un noob complet déterminer où tous les fichiers étaient à savoir où est * .app * .dSYM et journaux d'incidents ? Je devais lire plusieurs messages afin de le comprendre. Image vaut mille mots et j'espère que ce poste aide quelqu'un d'autre à l'avenir.

1- Tout d'abord aller à itunesconnect et télécharger vos journaux crash. REMARQUE: est la plupart des cas, vous pouvez obtenir quelque chose comme « Trop peu de rapports ont été soumis à un rapport à afficher. » Les utilisateurs en principe pas assez ont présenté des rapports de journal de plantage à Apple dans ce cas, vous ne pouvez pas faire grand chose à ce moment-là.

entrer image description ici

entrer image description ici

2- Maintenant, si vous ne l'aviez pas changé votre code puisque vous aviez soumis votre binaire à Apple puis lancez Xcode pour ce projet et faire des produits -> Archive nouveau. Sinon, juste trouver votre dernière soumis binaire et faites un clic droit dessus.

entrer image description ici

entrer image description ici

entrer image description ici

entrer image description ici

Dans Xcode 4.2.1, ouvrez Organisateur , puis allez à Journaux Bibliothèque / Device et faites glisser votre fichier .crash dans la liste des journaux crash. Il sera symbolicated pour vous après quelques secondes.

Notez que vous devez utiliser la même instance de Xcode que la construction d'origine a été archivé sur (à savoir l'archive pour votre build doit exister dans Organisateur ).

En utilisant Xcode 4, la tâche est encore plus simple:

  • open Organisateur ,
  • cliquez sur Bibliothèque | Appareil Connexion dans la colonne de gauche
  • cliquez sur " Importer " bouton en bas de l'écran ...

et le tour est joué. Le fichier journal est importé et Symbolisé automatiquement pour vous. Pourvu que vous archivées en utilisant la construction Xcode -> Produit -.> Archive premier

L'Organisateur Xcode magique est pas magique dans symbolicating mon application. Je suis pas de symboles du tout pour les rapports d'accident que je suis rentré d'Apple d'une soumission de l'application a échoué.

J'ai essayé d'utiliser la ligne de commande, mettre le rapport d'accident dans le même dossier que le fichier .app (que je soumettais au magasin) et le fichier .dSYM:

$ symbolicatecrash "My App_date_blahblah-iPhone.crash" "My App.app"

Ce symbole ne fournis pour mon application et non le code de base de base, mais il était mieux que la décharge de numéro organisateur me donne et me suffisait de trouver et réparer l'accident que mon application avait. Si quelqu'un sait comment étendre ce pour obtenir des symboles de la Fondation, il serait apprécié.

Dans mon cas, je traînais des rapports de plantage directement de courrier à l'organisateur. Pour une raison quelconque, qui a empêché les rapports d'erreur de se symbolicated (j'aimerais savoir pourquoi).

Copie des rapports d'erreur sur le bureau d'abord, puis en les faisant glisser de là à l'Organisateur les ai symbolicated correctement.

cas très précis, je sais. Mais je pensais que je partagerais juste au cas où.

Voici une autre question que j'ai avec symbolicatecrash - il ne fonctionnera pas avec des applications qui ont des espaces dans leur ensemble (à savoir « Test App.app »). Note Je ne pense pas que vous pouvez avoir des espaces en leur nom lors de la présentation afin que vous devez supprimer ces de toute façon, mais si vous avez déjà des accidents qui ont besoin d'analyser, correctif symbolicatecrash (4.3 GM) en tant que tel:

240c240
<         my $cmd = "mdfind \"kMDItemContentType == com.apple.application-bundle && kMDItemFSName == $exec_name.app\"";
---
>         my $cmd = "mdfind \"kMDItemContentType == com.apple.application-bundle && kMDItemFSName == '$exec_name.app'\"";
251c251
<             my $cmd = "find \"$archive_path/Products\" -name $exec_name.app";
---
>             my $cmd = "find \"$archive_path/Products\" -name \"$exec_name.app\"";

Pour ceux qui utilisent aérofreins, il y a une réponse solide au-dessus, mais cela ne fonctionnerait pas pour moi sans peaufinage:

fonctionne pour certaines adresses de mémoire, mais pas d'autres, ne sais pas pourquoi ...

  • Créer un nouveau répertoire sur le bureau ou partout où
  • Rechercher des archives en question organisateur Xcode
  • Appuyez deux fois pour révéler dans le Finder
  • Appuyez deux fois pour afficher le contenu du bundle
  • Copiez le fichier .dSYM et le fichier .app dans un nouveau répertoire
  • cd dans un nouveau répertoire
  • Exécuter cette commande: atos -arch ARMv7 -o 'Vimeo.app' / 'Vimeo'
  • Terminal entrera un mouvement interactif
  • Coller l'adresse mémoire et appuyez sur Entrée, il sera le nom de la méthode de sortie et le numéro de ligne
  • Vous pouvez également entrer cette commande: atos -arch ARMv7 -o 'Vimeo.app' / 'Vimeo' Pour obtenir des informations pour une seule adresse

La combinaison qui a fonctionné pour moi était:

  1. Copiez le fichier dSYM dans le répertoire où le rapport de l'accident était
  2. Décompresser le fichier ipa contenant l'application ( 'MyApp.ipa de décompression')
  3. Copiez le fichier binaire d'application de la charge utile résultant a explosé dans le même dossier que le rapport de l'accident et le fichier symbole (quelque chose comme « MyApp.app/MyApp »)
  4. Importer ou Re-symbolicate le rapport d'accident de l'intérieur organisateur de Xcode

Utiliser atos Je n'ai pas pu résoudre les informations de symbole correct avec les adresses et les décalages qui se trouvaient dans le rapport d'accident. Quand je l'ai fait, je vois quelque chose de plus significatif, et il semble être une trace de pile légitime.

Je devais faire beaucoup de piratage informatique du script symbolicatecrash pour le faire fonctionner correctement.

Pour autant que je peux dire, symbolicatecrash droit exige maintenant le .app être dans le même répertoire que le .dsym. Il utilisera le .dsym pour localiser le .app, mais il ne sera pas utiliser le dsym pour trouver les symboles.

Vous devriez faire une copie de votre symbolicatecrash avant d'essayer ces patches qui fera paraître dans le dsym:

Dans la ligne 212 dans la fonction getSymbolPathFor_dsymUuid

212     my @executablePath = grep { -e && ! -d } glob("$dsymdir" . "/Contents/Resources/DWARF/" . $executable);

Vers la ligne 265 dans la fonction matchesUUID

265             return 1;

est simple, après avoir cherché beaucoup j'ai trouvé des mesures claires pour symbolicate l'ensemble du fichier journal de plantage.

  • copie .app, les fichiers crash_report et DSYM dans un dossier.
  • connecter l'appareil avec Xcode
  • Ensuite, allez à la fenêtre -> certains appareils -> journaux de périphériques de vue
  • Sélectionnez ensuite ce dispositif, supprimer tous les journaux.
  • glisser-déposer votre accident sur la section du journal de l'appareil. il symbolicate automatiquement l'accident. juste cliquer sur le rapport et l'exporter.

codage heureux,
Riyaz

Je préfère un qui symbolicate tous mes journaux crash Script .

Préalables

Créez un dossier et y mettre 4 choses:

  1. symbolicatecrash script perl - il y a beaucoup de réponses SO qui lui indique son emplacement

  2. Les archives de la construction qui correspondent aux accidents (de Xcode Organizer. Show in Finder simple et copier) [je ne sais pas c'est necessery]

  3. Tous les forfaits xccrashpoint - (. De Xcode Organizer Show in Finder, vous pouvez copier tous les paquets dans le répertoire ou le xccrashpoint unique que vous souhaitez symbolicate)

  4. Ajoutez que petit script dans le répertoire:

    #!/bin/sh
    
    echo "cleaning old crashes from directory"
    rm -P *.crash
    rm -P *.xccrashpoint
    rm -r allCrashes
    echo "removed!"
    echo ""
    echo "--- START ---"
    echo ""
    
    mkdir allCrashes
    mkdir symboledCrashes
    find `ls -d *.xccrashpoint` -name "*.crash" -print -exec cp {} allCrashes/ \;
    
    cd allCrashes
    for crash in *.crash; do
        ../symbolicatecrash $crash > ../symboledCrashes/V$crash
    done
    cd ..
    
    echo ""
    echo "--- DONE ---"
    echo ""
    

Le script

Lorsque vous exécutez le script, vous obtenez 2 répertoires.

  1. allCrashes -. Tous les accidents de tous les xccrashpoint sera là

  2. symboledCrashes - les mêmes accidents, mais maintenant avec tous les symboles

  3. .
  4. Ne pas besoin de nettoyer le répertoire des anciens accidents avant d'exécuter le script. il nettoie automatiquement. bonne chance!

Pour symbolicate accidents, Spotlight doit être en mesure de trouver le fichier .dSYM qui a été généré en même temps le binaire que vous avez soumis à Apple était. Comme il contient les informations de symbole, vous serez hors de la chance si elle est disponible.

Je suis un peu grincheux rien de fait semble ici pour « juste travail » donc je fait quelques enquête et le résultat est:

Mise en place: QuincyKit extrémité arrière qui reçoit des rapports. Pas symbolication mis en place que je ne pouvais même pas commencer à comprendre ce qu'ils suggéraient que je fais pour le faire fonctionner.

Le correctif: télécharger les rapports de plantage du serveur en ligne. On les appelle « crash » et par défaut vont dans le répertoire ~ / Téléchargements / dossier. Dans cet esprit, ce script « faire la bonne chose » et les rapports de plantage entrera en Xcode (Organisateur, journaux de périphériques) et symbolication sera fait.

Le script:

#!/bin/bash
# Copy crash reports so that they appear in device logs in Organizer in Xcode

if [ ! -e ~/Downloads/crash ]; then 
   echo "Download a crash report and save it as $HOME/Downloads/crash before running this script."
   exit 1
fi

cd ~/Library/Logs/CrashReporter/MobileDevice/
mkdir -p actx # add crash report to xcode abbreviated
cd actx

datestr=`date "+%Y-%m-%d-%H%M%S"`

mv ~/Downloads/crash "actx-app_"$datestr"_actx.crash"

Les choses peuvent être automatisées à l'endroit où vous pouvez glisser et déposer dans Xcode Organisateur en faisant deux choses si vous utilisez QuincyKit / PLCR.

Tout d'abord, vous devez modifier l'administrateur de script distant / actionapi.php ~ ligne 202. Il ne semble pas avoir le droit d'horodatage, de sorte que le fichier se termine avec le nom « crash » qui Xcode ne reconnaît pas ( il veut quelque chose accident dot):

header('Content-Disposition: attachment; filename="crash'.$timestamp.'.crash"');

En second lieu, le côté iOS QuincyKit BWCrashReportTextFormatter.m ~ ligne 176, le changement @"[TODO]" à @"TODO" pour contourner les mauvais caractères.

atos est désapprouvés donc si vous utilisez Mac OS X 10.9 ou vous devrez exécuter plus tard

xcrun atos

  

Attention: / usr / bin / atos se déplace et sera supprimée d'un futur système d'exploitation   version X. Il est maintenant disponible dans les outils de développement Xcode être   invoquée par: xcrun atos

J'aime utiliser TextWrangler pour identifier les erreurs dans une application d'origine télécharger le rejet binaire. (Les données crash se trouvent dans votre compte itunesConnect.) En utilisant la méthode de Sachin ci-dessus je copie le original.crash à TextWrangler, puis copiez le fichier symbolicatecrash j'ai créé un autre fichier TextWrangler. En comparant les deux fichiers identifie les différences. Le fichier symbolicatecrash aura des différences qui indiquent le numéro de dossier et ligne de problèmes.

J'ai découvert la plupart des solutions de rechange proposées ne fonctionne pas dans le dernier XCode (testé avec Xcode 10). Par exemple, je n'avais pas glisser-déposer chance journaux .crash dans Xcode -> Organisateur -.> Journaux de l'unité -view

Je recommande d'utiliser l'outil Symbolicator https://github.com/agentsim/Symbolicator

  • clone Git référentiel Symbolicator et compiler et exécuter avec Xcode
  • Copier fichier .crash (fichier ASCII, avec la trace de pile en demandant de fichier) et .xarchive de sortie d'écraser au même dossier temporarly
  • Glissez et déposez .crash fichier sur l'icône dans le Dock Symbolicator
  • Dans 5-30 secondes fichier crash symbolicated est produit dans le même dossier que .crash et .xarchive sont

Nous utilisons Google Crashlytics pour surveiller les journaux crash, le sentiment est très rapide et pratique à utiliser.

Liens de documents: https://docs.fabric.io/apple/crashlytics/ manquantes dsyms.html # manquantes dsyms

Tout à propos dSYMs manquantes Tissu comprend un outil pour télécharger automatiquement dSYM de votre projet. L'outil est exécuté par le / script exécuté, qui est ajouté à votre Exécuter le script Phase de construction au cours du processus d'intégration. Il peut y avoir certaines situations cependant, quand les téléchargements dSYM échouent en raison de configurations uniques du projet ou si vous utilisez dans votre application de code binaire. Lorsqu'un téléchargement échoue, Crashlytics ne peut pas symbolicate et accidents d'affichage et un « manque dSYM » alerte apparaîtra sur votre tableau de bord de tissu.

dSYMs manquantes peuvent être téléchargées manuellement en suivant les étapes décrites ci-dessous.

Note: Comme alternative à l'outil de téléchargement de dSYM automatisé, tissu fournit un outil de ligne de commande (upload-symboles)) qui peut être configuré manuellement pour exécuter en tant que partie du processus de génération de votre projet. Voir la section upload-symboles ci-dessous pour obtenir des instructions de configuration.

...

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