GNU/Linux >> Tutoriels Linux >  >> Linux

Comment pouvons-nous retracer les problèmes de plantage de programmes sous Linux ?

Y a-t-il par ex. un journal central ou quelque chose de similaire ?

L'emplacement normal des 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 va à /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/de sortie standard, et si vous exécutez une application gênante au premier plan à partir d'un terminal, vous pourrez voir ce genre de choses.


Sur Ubuntu, les erreurs de segmentation sont écrites à /var/log/kern.log . Je l'ai testé en créant un programme qui segfault :

void main() {
    int *a=0;
    *a=0;
}

Après une erreur de segmentation, il y avait cette ligne dans /var/log/kern.log :

a.out[534]: segfault at 0 ip 08048432 sp bfaec8c0 error 6 in a.out[8048000+1000]

Linux
  1. Linux - Comment tracer un programme Java ?

  2. Comment faire pivoter les fichiers journaux Apache sous Linux

  3. Comment lire le journal d'audit sous Linux

  4. Comment puis-je exécuter des programmes d'assemblage MIPS sur un Linux x86 ?

  5. Comment tracer les opérations d'E/S par fichier sous Linux ?

Comment déboguer des programmes C sous Linux à l'aide de gdb

Comment gérer les fichiers journaux à l'aide de Logrotate sous Linux

Comment compiler et exécuter des programmes C, C++ sous Linux

Comment changer le fichier journal Sudo par défaut sous Linux

Comment suivre et tracer un processus Linux

Comment puis-je profiler du code C++ exécuté sous Linux ?