J'essaie de déboguer une application bloquée (ou suspendue). Comment puis-je obtenir les fichiers de diagnostic du crash?
la source
J'essaie de déboguer une application bloquée (ou suspendue). Comment puis-je obtenir les fichiers de diagnostic du crash?
Les rapports d'incident individuels sont stockés dans ~ / Bibliothèque / Logs / CrashReporter, mais il existe un outil de collecte de journaux à l'échelle du système appelé sysdiagnose .
Une fois que vous commencez à rencontrer le problème, maintenez les 4 touches de contrôle enfoncées, puis appuyez sur la période "." clé. shift+ control+ option+ command+.
Après environ 15 secondes, une fenêtre du Finder s'ouvrira avec un fichier sysdiagnose mis en surbrillance.
Ce raccourci exécute simplement la sysdiagnose
commande. Ainsi, si vous connaissez le terminal et souhaitez passer un ID de processus, vous pouvez obtenir des informations de débogage améliorées sur ce programme spécifique. Le raccourci clavier appelle l'outil sans argument et capture uniquement le rapport de base.
~/Library/Logs/CrashReporter
ne contient pas de.crash
fichiers. Au lieu de cela:/Library/Logs/DiagnosticReports
et~/Library/Logs/DiagnosticReports
launchctl
commande va démarrer le démon.sysdiagnose
commande est-elle également disponible dans OS 10.6? Je ne trouve pas de page de manuel etwhich sysdiagnose
ne renvoie rien dans OS 10.6.8, ou dois-je l'installer explicitement?Apple sysdiagnose
Ce script shell (à partir de 10.8) et le programme exécutable du même nom à 10.9:
Se préparer à l’approche sysdiagnose uniquement au clavier
Dans Terminal, exécutez la commande suivante.
Prenez note de l’accord de clé suivant, vous en aurez besoin plus tard:
Control- Option- Command- Shift-.
Diagnostic par le système
Lorsqu'un problème survient:
sysdiagnose
routine soient terminées - attendez simplement le plus longtemps possible (il n'y aura aucune indication de progrès à l'écran)À titre exceptionnel
Dans de rares cas, un problème peut empêcher sysdiagnose de se terminer (j'ai présenté des suggestions d'amélioration à Apple). Si cela se produit - si vous êtes certain d'avoir attendu assez longtemps - il peut être judicieux de redémarrer le Mac. Ensuite:
/private/var/tmp
Astuces
Sans l'accord de clé, vous pouvez exécuter sysdiagnose à partir de la ligne de commande (voir ci-dessous, page de manuel Apple). Mais il est souvent plus utile, ou nécessaire, d'utiliser l'accord - alors soyez prêt.
Bien que je n’encourage pas l’insouciance, vous pouvez l'être un peu avec Control- Option- Command- Shift- .… si vous avez du mal à éviter la fnclé sur votre ordinateur portable, ne vous inquiétez pas; l'inclure par accident ne devrait pas empêcher la course de
sysdiagnose
.Analyse humaine du diagnostic par le système
Astuce: quelqu'un voudra peut-être poser une question distincte sur l'analyse des résultats
sysdiagnose
- une réponse plus générale pourrait être utile.Si sysdiagnose_… de la
/tmp
zone est un fichierLa présence d'un
sysdiagnose_….tar.gz
fichier indique que toutes les parties de lasysdiagnose
routine sont terminées et que les résultats ont été archivés. Si vous le souhaitez, ouvrez l’archive - son contenu apparaîtra sous forme de dossier.Si sysdiagnose_… de la
/tmp
zone est un dossierLa présence d'un
sysdiagnose_…
dossier (pas un.tar.gz
fichier) indique que:Dans l'archive / le dossier
Certains fichiers sont lisibles par l’homme et peuvent aider à résoudre un problème.
Les autres fichiers sont plus orientés développeur.
En relation:
Pour une exécution incomplète ,
sysdiagnose
il peut être utile de concentrer votre attention sur les fichiers anormalement vides…Notes techniques et autres
stackshot (1) OS X Page de manuel
sysdiagnose (1) OS X Manual Page
Une partie de ce qui précède est une édition plus générique d’ une réponse acceptée qui apparaît ailleurs.
Informations de diagnostic et d'utilisation, autres fichiers d'intérêt
Soyez guidé par la liste de journaux dans la console:
Attendez-vous à trouver des fichiers dans les chemins suivants:
la source
Console
Pour rechercher des fichiers de diagnostic ou de blocage existants, ouvrez l' application Console et recherchez les fichiers dans les rapports de l'utilisateur (situés dans
~/Library/Logs/DiagnosticReports
) ou dans les sections des rapports système (situés dans/Library/Logs/DiagnosticReports
). Voir: Où puis-je trouver mes journaux d'incidents?sysdiagnose
Selon les
sysdiagnose
instructions officielles pour macOS, vous pouvez déclencher une dessysdiagnose
actions suivantes:Remarque: pour accéder au lien ci-dessus, vous devez d'abord vous connecter au site Developer Apple .
Appuyez brièvement sur les touches suivantes simultanément:
Command- Option- Shift- Control-Period (.)
et attendre. Le
sysdiagnose
processus peut prendre 10 minutes. Une fois terminé, le Finder devrait automatiquement apparaître montrant le fichier généré dans/private/var/tmp/
(par exemplesysdiagnose_2017.mm.dd_hh-mm-ss-0000_12345.tar.gz
).Déclenchez un
sysdiagnose
depuis le terminal en entrant cette commande:dépotoirs
Pour générer des vidages mémoire sur crash, voir: Comment générer des vidages mémoire sur macOS?
la source