Was in einen Problem Report gehört

Jede Datenbank ist lediglich so gut wie die Daten die in ihr enthalten sind. Generell diktiert gesunder Menschenverstand (die Existenz eines solchen vorausgesetzt) die Informationen die am hilfreichsten wären um ein Problem in der Software aufzuspüren und zu beheben.

Allgemeine Hinweise

Eine Kernel Panic melden

Nun gab es also eine kernel panic, Ihr Bildschirm (oder Log) ist voller Hexadezimal-Zahlen und Ihr System brach zusammen. Es ist wichtig, dieses Problem zu melden, da ein echtes Betriebssystem niemals zusammenbrechen sollte, es sei denn die Computer Hardware hat eine Fehlfunktion (ein BS kann leider nicht viel tun, um Hardware Fehler zu korrigieren). Daher bleiben lediglich Programmfehler in dem Betriebssystem-Kern (dem Kernel) übrig, und dies sind die Fehler die wir verfolgen und beheben müssen um NetBSD noch stabiler und robuster als es bereits ist, zu machen.

Das Problem dabei jedoch ist, daß der Stapelspeicherauszug (stack dump) den der Kernel ausdruckt ganz spezifisch für Ihr System ist und die Nummern wieder zurück in Referenzen der Symbol-Tabelle umgewandelt werden müssen, um es jemandem, der nicht den Kernel Ihres Systems nutzt, zu ermöglichen, einen genauen Eindruck zu bekommen, wo das System abbrach.

Am Allerwenigsten sollten Sie die "PC" Nummern notieren und sie in symbolische Referenzen umwandeln - dies ist der Program Counter des Computers, welcher anzeigt, welchen Code er gerade ausführte. Sollte es Ihnen möglich sein, so wäre es ideal, wenn Sie den gesamten Auszug kopieren und in den Problem Report einfügen könnten.

Wenn der Kernel nun also etwas wie folgt ausdruckt (normalerweise viele ähnliche Zeilen):

pc = 0xf80ff430 args = (0x0, 0x41001fe5, 0xf8139c00, 0xf8123d20, 0xf8101e38, 0xf8143800, 0xf8123c68) fp = 0xf8123c68

Die PC-Nummer ist spezifisch für Ihren Kernel und es ist unwahrscheinlich, daß er mit dem eines anderen Kernels gleich ist. Daher muss er in eine symbolische Referenz umgewandelt werden. Um den Hexadezimalwert des PC in eine symbolische Referenz umzuwandeln, sollten Sie gdb(1) wie folgt verwenden:

	gdb -k /netbsd
	x 0xf80ff430

	0xf80ff430 <cpu_reboot+196>:     0x40000093

Den "<cpureboot+196>" Teil von gdb(1) ist genau der Teil, denn die Leute, die an Ihrem Problem Report arbeiten werden. benötigen. Bitte notieren Sie diesen Teil (idealerweise zusammen mit dem Rest der "args" Zeile) in Ihrem Problem Report.

Problem Report #3765 ist ein gutes Beispiel eines ausführlichen PR einer kernel panic.


[Seitenanfang] [GNATS Zusammenfassung] [PR Suche] [PR Formularfelder] [PR Status]
NetBSD Home Page

(Ihre Meinung) $NetBSD: pr-hints.html,v 1.9 2004/10/30 22:34:09 jschauma Exp $
Copyright © 1994-2003 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.