GNU/Linux >> Linux Esercitazione >  >> Linux

Come possiamo rintracciare i problemi di crash dei programmi in Linux?

C'è ad es. qualche registro centrale o qualcosa di simile?

La posizione normale per i log di sistema è /var/log/ . Ciò che viene inserito in ogni registro dipende dalla configurazione del syslog, ma in genere tutto tranne gli accessi va a /var/log/syslog .

Ciò non garantisce che le singole applicazioni abbiano lasciato un indizio in caso di problemi. Ma loro, o la shell, probabilmente sputeranno qualcosa nei flussi standard out/standard error, e se esegui un'applicazione fastidiosa in primo piano da un terminale sarai in grado di vedere quella roba.


Su Ubuntu i segfault vengono scritti in /var/log/kern.log . L'ho testato creando un programma che esegue il segfault:

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

Dopo il segfault c'era questa riga in /var/log/kern.log :

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

Linux
  1. Come eseguire il debug di programmi C in Linux usando gdb

  2. Come gestire i file di registro utilizzando Logrotate in Linux

  3. Come svuotare un file di registro in Linux

  4. Come ruotare i file di registro Apache in Linux

  5. Come posso eseguire programmi di assemblaggio MIPS su un Linux x86?

Come compilare ed eseguire programmi C, C++ in Linux

Come modificare il file di registro di Sudo predefinito in Linux

Come tracciare e tracciare un processo Linux

Come posso profilare il codice C++ in esecuzione su Linux?

Come posso riprendere un lavoro interrotto in Linux?

Come posso cercare un nome utente per id in Linux?