Y a-t-il des journaux de crash générés par iPhone Simulator?
le simulateur plante beaucoup mais ne laisse aucune trace dans la console ... le journal des plantages sera utile.
Y a-t-il des journaux de crash générés par iPhone Simulator?
le simulateur plante beaucoup mais ne laisse aucune trace dans la console ... le journal des plantages sera utile.
Réponses:
La console affichera la NSLog()
sortie d'une application exécutée dans le simulateur. Les journaux de plantage sont enregistrés dans un fichier.
J'en ai trouvé dans mon répertoire personnel sous
~/Library/Logs/DiagnosticReports/
Ils ont une extension de fichier de .crash
Quelque chose que je n'ai pas encore compris, c'est comment les faire générer même si le débogueur saisit le EXC_BAD_ACCESS
signal.
Mettre à jour
Actuellement, (OSX 10.11.6), le .crash se connecte ~/Library/Logs/DiagnosticReports
, c'est quand l'émulateur lui-même se bloque . Les journaux pour une application en panne (mais le périphérique émulateur fonctionne toujours correctement), sont dans:
~ / Bibliothèque / Logs / CoreSimulator
Par crash, il y a un sous-dossier avec un identifiant unique. Trier par date, de sorte que votre récent crash soit le premier sous-dossier. À l'intérieur de cela, commencez par regarder stderr.log
et system.log
.
Aussi directement sous CoreSimulator
, voir CoreSimulator.log
et Simulator.log
.
~/Library/Logs/DiagnosticReports/
Je suis presque sûr que vous pouvez le voir dans l'application Console OS X située dans Utilitaires. Si je me trompe, assurez-vous de voter pour moi afin que je supprime ceci.
METTRE À JOUR:
Plus précisément (à partir d'OSX 10.11.6),
Lorsqu'une application plante sur l'émulateur, un sous-dossier (avec un identifiant unique) est ajouté à:
~ / Bibliothèque / Logs / CoreSimulator
À l'intérieur de cela, commencez par examiner stderr.log
et system.log
.
Lorsque l'émulateur lui-même plante, un sous-dossier est ajouté à:
~ / Bibliothèque / Journaux / Rapports de diagnostic
Ne confondez pas ce chemin avec
/ Bibliothèque / Journaux
(manquant ~
au début), qui a différents rapports sur votre mac.
Voici quelque chose qui a fonctionné pour moi dans un cas particulier ... Mon application plantait avec SIGKILL à la fin. Je verrais l'exception dans main.m pendant quelques secondes, puis l'application finirait de se terminer - donc, aucune chance d'obtenir la trace arrière.
J'ai fait beaucoup de recherches sur «où le simulateur stocke ses journaux de crash» et je n'ai jamais réussi à trouver une réponse. Cependant, l'astuce suivante m'a été très utile et j'ai pu récupérer le journal des accidents à la volée:
Fondamentalement, ouvrez /Applications/Utilities/CrashReporterPrefs.app et modifiez le paramètre sur «Developer». Cela entraînera CrashReporter à afficher une fenêtre contextuelle avec le journal des plantages après le crash de votre application.
J'ai trouvé ceci dans la section «Affichage de la console du simulateur iOS et des journaux de panne» de ce document d'Apple: http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/ios_development_workflow/125-Using_iOS_Simulator/ios_simulator_application. html
C'est beaucoup plus fiable. En seulement quelques étapes, j'ai pu trouver le numéro de ligne source et le nom de la méthode:
Les journaux de crashs apparaîtront sous ~ / Library / Logs / CrashReporter.
Lorsque Xcode obtient les journaux de crash d'un appareil connecté, il les stocke dans des sous-dossiers de ~ / Library / Logs / CrashReporter / MobileDevice