GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie können wir Probleme mit abstürzenden Programmen in Linux nachverfolgen?

Gibt es z.B. ein zentrales Protokoll oder ähnliches?

Der normale Ort für Systemprotokolle ist /var/log/ . Was in jedes Protokoll geschrieben wird, hängt von der Syslog-Konfiguration ab, aber im Allgemeinen geht alles außer Anmeldungen an /var/log/syslog .

Dies ist keine Garantie dafür, dass einzelne Anwendungen dort Hinweise hinterlassen haben, falls ein Problem auftritt. Aber sie oder die Shell spucken wahrscheinlich etwas in die Standardausgabe-/Standardfehlerströme aus, und wenn Sie eine problematische Anwendung im Vordergrund von einem Terminal aus ausführen, können Sie dieses Zeug sehen.


Unter Ubuntu werden Segfaults bei /var/log/kern.log geschrieben . Ich habe es getestet, indem ich ein Programm erstellt habe, das segfaults:

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

Nach dem Segfault stand diese Zeile in /var/log/kern.log :

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

Linux
  1. Linux – Wie verfolgt man ein Java-Programm?

  2. So leeren Sie eine Protokolldatei unter Linux

  3. Wie kann ich MIPS-Assembler-Programme auf einem x86-Linux ausführen?

  4. Wie protokolliere ich den Speicherverbrauch unter Linux?

  5. Wie kann ich eine Datei unter Linux symbolisch verknüpfen?

Wie man C-Programme unter Linux mit gdb debuggt

So verwalten Sie Protokolldateien mit Logrotate unter Linux

So kompilieren und führen Sie C- und C++-Programme unter Linux aus

So ändern Sie die Standard-Sudo-Protokolldatei in Linux

So verfolgen und verfolgen Sie einen Linux-Prozess

Wie kann ich C++-Code profilieren, der unter Linux ausgeführt wird?