5 votes

Faire apparaître la fenêtre des messages d'erreur d'OS X

Dans OS X, lorsqu'une application se plante, une fenêtre contenant un rapport d'erreur apparaît. Cette fenêtre est par défaut inaccessible par Command+Tab et n'apparaît pas dans le Dock. Bien sûr, si par erreur ou volontairement on clique sur une autre fenêtre, le rapport d'erreur passe en arrière-plan et se cache derrière les autres fenêtres.

C'est vraiment ennuyeux, car pour le voir, je dois utiliser Exposé et parcourir plus de 20 fenêtres pour le trouver. (Sans vouloir dire que je n'aime plus Exposé depuis que Snow Leopard a rendu les tailles de fenêtres toutes confusément égales).

Une idée sur la façon de rendre les rapports d'erreur Command+Tabbable ?

3voto

Jeremy W. Sherman Points 606

Question amusante. Réponse courte :

sudo defaults write "/System/Library/CoreServices/Problem Reporter.app/Contents/Info" LSUIElement -bool false

Cela devrait permettre à Problem Reporter de s'afficher dans le Dock lors de sa prochaine exécution.

Comment je suis arrivé à la réponse : Quand un accident se produit, /System/Library/CoreServices/ReportCrash est géré par launchd selon l'un des com.apple.ReportCrash*.plist fichiers dans /System/Library/Launch{Daemons,Agents}/ . C'est lui qui génère le rapport d'accident que vous trouverez dans le site Web de la Commission européenne. [~]/Library/Logs/CrashReporter/ o [~]/Library/Logs/DiagnosticReports .

Il semble que ReportCrash soit en mesure de lancer l'affichage d'une boîte de dialogue similaire à la boîte de dialogue "Rapport de problème pour APP" - elle contient la chaîne "/System/Library/PrivateFrameworks/CrashReporterSupport.framework", qui contient les ressources utilisées pour localiser le texte affiché dans la fenêtre de dialogue. Il contient également des appels à la fonction CFUserNotification API. Mais le processus ReportCrash se termine après un certain temps, alors que la boîte de dialogue continue de s'afficher. (Le CFUserNotification est très probablement une solution de repli au cas où _CROpenProblemReport qui a le CrashReporterSupport cadre privé ouvrir l'application que vous voyez, échoue.)

Devinez ce qui continue à courir ? /System/Library/CoreServices/Problem\ Reporter.app . Si vous open ce fichier, la boîte de dialogue de rapport de problème apparaît au premier plan. La raison pour laquelle vous ne pouvez pas la voir dans le Dock ou dans la liste Cmd-Tab est que son fichier Info.plist contient l'entrée suivante LSUIElement = 1 .

Je parie que vous pouvez faire en sorte que vous puissiez le voir dans le Dock et y accéder par Cmd-Tab en changeant la valeur de l'attribut LSUIElement a <false/> sur /System/Library/CoreServices/Problem\ Reporter.app/Contents/Info.plist .

0voto

Katie Points 19

Sur la base de la première réponse J'ai découvert que ces étapes sur High Sierra amènent un système existant Rapporteur des problèmes à l'avant.

La méthode de l'interface graphique :

  1. Appuyez sur Command + Space  pour commencer Recherche Spotlight
  2. Recherche de  /System/Library/CoreServices/Problem Reporter.app  et attendez que le résultat s'affiche
    (une recherche pour juste Problem Reporter.app  ne le révèlera pas !)
    enter image description here
  3. Appuyez sur Enter
  4. Maintenant, la fenêtre "Rapporteur de problèmes" est à l'avant et a le focus.

La méthode Terminal :

  1. Ouvrir une fenêtre ou un onglet de terminal
  2. Exécuter open -a /System/Library/CoreServices/Problem\ Reporter.app
  3. Maintenant, la fenêtre "Rapporteur de problèmes" est à l'avant et a le focus.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X