2012-11-02 6 views
5

Gibt es eine Möglichkeit, Kernel frühere Debug-Informationen zu erhalten, nachdem Kernel-Kernel auftritt.Abrufen von Linux-Kernel-Debug-Informationen nach Kernel-Absturz

Ich versuche, ein Kernel-Modul zu entwickeln, das IP-Pakete im IP-Layer im Kernel-Netzwerk-Stack im Grunde & erfasst, nach ein paar Änderungen muss ich das gleiche Paket zurück an die NIC zur Übertragung senden. Während all dieser Prozesse schreibe ich Debug-Informationen mit Hilfe von printk(). aber wenn etwas schief geht & Kernel-Fehler auftritt, so müssen wir das System neu starten. Also gibt es eine Möglichkeit, meine vorherige Debug-Informationen zu erhalten, weil nach dem Neustart die Debug-Informationen nicht vorhanden sind, wie ich es durch dmesg Befehl zu bekommen versuchen.

Antwort

7

Eigentlich/var/log/dmesg-Datei enthält die aktuelle Nachrichtenprotokoll Boot drucken. Die Datei /var/log/kern.log enthält Ihre vorherige Boot-Kernel-Druckmeldung in Ubuntu. In anderen Linux-Varianten wird es in der Datei/var/log/messages in Fedora usw. enthalten.

2

Sie könnten versuchen, mit Ihrem aufgehängten System zu interagieren, indem Sie magic SysRq Tastenfolgen über Ihre Tastatur oder eine serielle Konsole eingeben.

+0

eigentlich, wenn ich mein Modul-System hänge nur hängt so im ich kann nichts tun, und ich muss neustart.im versuchen mit magischen SysRQ-Tastenfolgen, aber ich bekomme nicht das Ergebnis .. – akp

+0

Sie müssen * magische sysrq * aktivieren während der Konfiguration und des Builds Ihres Kernels. –

4

Kernel-Protokollmeldungen können in /var/log/dmesg Dateien auch nach dem Neustart des Systems angezeigt werden.

Es wird so viele Dateien mit dmesg.X geben, diese Dateien sind frühere Kernel-Logs. dmesg ist die neueste Datei.

difference between dmesg and /var/log/kern.log

2

Neueste Versionen von Linux unterstützen crash dumps. Bei Erfolg enthalten diese einen vollständigen Speicherauszug einschließlich Kernel-Protokollmeldungen und Stack-Traces.

0

Tatsächlich ist die Absturzinformation (dmesg) in der Position/var/crash/vorhanden. Hier haben wir die Ordner für jeden Systemabsturz. Ordnernamen wie 127.0.0.1-Datum-Uhrzeit. vmcore-dmesg.txt ist in den Ordnern vorhanden. Aus diesen Dateien haben wir den dmesg erhalten, der vor dem Absturz ausgeführt wird.

Verwandte Themen