Anhang C - Wie man einen Fehler berichtet
Wie berichte ich über Programmfehler?
Lese zuerst Anhang D sowie andere Dokumentationen. Wenn dein Problem nicht bekannt ist oder durch unsere Anweisungen nicht gelöst werden kann, berichte über den Fehler:
Wo?
Tritt der mplayer-users Mailingliste bei:
http://lists.sourceforge.net/lists/listinfo/mplayer-users
und sende deinen Fehlerbericht an:
mplayer-users@lists.sourceforge.net
Wir werden keine persönliche Kopie senden, also bitte anmelden!!!
Sende auf keinen Fall Fehlerberichte direkt an die private Mail-Adresse des Autors!!! Wir arbeiten miteinander am Quellcode, also ist jeder interessiert. Nebenbei gesagt: Oft wissen auch andere Benutzer eine Lösung (Systemkonfigurationsprobleme, fehlerhafte Treiber usw.), sogar wenn wir denken es sei ein Fehler in unserem Code. Die Sprache dieser Mailingliste ist ENGLISCH!
Bitte beschreibe dein Problem detailiert - Beispiele usw. - aber vergiss nicht, dass dein Bericht folgendes beinhalten sollte:
Was?
1. Die Systeminfos, die wir immer wollen:
uname -a
ls -l /lib/libc[.-]*
X -version
gcc -v
ld -v
as --version
2. Hardware & Treiber:
cat /proc/cpuinfo
Bei Kompilierungsfehlern/-problemen
3. Ausgabe von configure/make:
make distclean
./configure &>config.log
./make &>make.log
4. diese Dateien:
Bei Wiedergabeproblemen:
3. Ausgabe von MPlayer in Ausführlichkeits-Stufe 1 (-v)
mplayer -v [Optionen] Dateiname &> mplayer.log
4. Wenn das Problem spezifisch für eine oder einige wenige Dateien besteht, lade die Datei bitte auf:
ftp://mplayerhq.hu/MPlayer/incoming/
dd if=deinedatei of=kleinedatei bs=1k count=1024
5. Bei Abstürzen (Speicherverletzung, SIGILL, signal 4 usw.):
Wenn du ein Speicherabbild (Coredump) vom Absturz besitzt, siehe 5.a,
ansonsten 5.b:
5.a: Bitte gib uns den Coredump aus (sofern er erzeugt wurde).
Wie: Bitte erzeuge die folgende Kommandodatei (Command File):
disass $eip-32 $eip+32
printf "eax=%08lX\n",$eax
printf "ebx=%08lX\n",$ebx
printf "ecx=%08lX\n",$ecx
printf "edx=%08lX\n",$edx
printf "esp=%08lX\n",$esp
printf "ebp=%08lX\n",$ebp
printf "edi=%08lX\n",$edi
printf "esi=%08lX\n",$esi
Dann führe einfach den folgenden Befehl aus:
gdb mplayer --core=core -batch --command=Kommandodatei >mplayer.bug
5.b.: Führe MPlayer im gdb (GNU Debugger) aus:
Kompiliere MPlayer neu, mit eingeschaltetem debugging:
./configure --enable-debug
make
[im Root/User Shell Prompt:]
# gdb mplayer
[im gdb Prompt:]
> run -v [Optionen für Mplayer] Dateiname
... (warte bis zum Absturz)
> bt
> disass $eip-32 $eip+32
Sende uns die gesamte Ausgabe obiger Dinge!
Allgemein:
Wenn etwas sehr groß ist (Log-Dateien usw.) ist es besser es gezippt auf den FTP hochzuladen und nur den Pfad-/Dateinamen im Fehlerbericht anzugebeben!