Si une application se bloque dans Windows, nous pouvons vérifier l'Observateur d'événements dans les outils d'administration pour voir ce qui s'est bloqué. Parfois, il contient des informations utiles, d'autres non, mais c'est un début.
Sous Linux, si une application (n'importe laquelle) plante, comment commencer à retracer ce qui s'est passé?
Existe-t-il, par exemple, un journal central ou quelque chose de similaire?
12
/var/log/syslog
. Linux permet à un démon d'être averti des pannes de processus. Ubuntu de apport et de Red Hat ABRT Utilisez cette option pour fournir une journalisation centralisée et les installations de production de rapports. Généralement, un vidage de mémoire est enregistré afin que vous puissiez invoquer un débogueur sur le programme bloqué.Réponses:
L'endroit normal pour les journaux système est
/var/log/
. Ce qui est mis dans chaque journal dépend de la configuration de Syslog, mais généralement tout sauf les connexions est envoyé/var/log/syslog
.Cela ne garantit pas que les applications individuelles y auront laissé la moindre trace en cas de problème. Mais eux, ou le shell, cracheront probablement quelque chose dans les flux d'erreur standard out / standard, et si vous exécutez une application gênante au premier plan à partir d'un terminal, vous pourrez voir ce genre de choses.
la source
/var/log
quel fichier journal, y a-t-il une convention?ls -lart
, le dernier fichier de la liste a été le plus récemment modifié./var/log/syslog
, mais différentes distributions font les choses différemment. Si vous savez quel syslog vous utilisez, vous pouvez examiner sa configuration pour le déterminer.Sur Ubuntu, les erreurs de segmentation sont écrites sur
/var/log/kern.log
. Je l'ai testé en créant un programme qui segfaults:Après la panne, il y avait cette ligne dans
/var/log/kern.log
:la source
Dans Ubuntu, si vous lancez votre application à partir d'un fichier de lancement .desktop, ajoutez l'option
Terminal=true
à votre fichier .desktop.la source