A.6. Co zgłaszać
Poprzedni | Dodatek A. Jak zgłaszać błędy | Następny

## A.6. Co zgłaszać

Może zajść potrzeba dołączenia logu, konfiguracji lub przykładowego pliku w Twoim zgłoszeniu błędu. Jeżeli któryś z nich ma duży rozmiar, lepiej załadować go na nasz serwer FTP w skompresowanej postaci (gzip i bzip2 są preferowanymi formatami) i załączyć tylko ścieżkę i nazwę pliku do zgłoszenia błędu. Nasza lista ma ustawiony limit rozmiaru każdej wiadomości na 80k. Jeżeli potrzebujesz wysłać coś większego, musisz to skompresować albo załadować na serwer.

### A.6.1. Informacja o systemie operacyjnym

- Nazwa Twojej dystrybucji Linuksa albo system operacyjny. Np.:

  - Red Hat 7.1

  - Slackware 7.0 + pakiety rozwojowe z 7.1 ...

- wersja jądra (kernela):

      uname -a

- wersja biblioteki libc:

      ls -l /lib/libc[.-]*

- wersja gcc i ld:

      gcc -v
      ld -v

- wersja binutils:

      as --version

- Jeżeli masz problem z trybem pełnoekranowym:

  - Menadżer okien i wersja

- Jeżeli masz problem z XVIDIXem:

  - głębia barw Xów (colour depth):

        xdpyinfo | grep "depth of root"

- Jeżeli tylko GUI zawiera błędy:

  - wersja GTK

  - wersja GLIB

  - wersja libpng

  - Sytuacja w której pojawia się błąd GUI

### A.6.2. Sprzęt i sterowniki

- informacje o procesorze (CPU) (to działa tylko pod Linuksem):

      cat /proc/cpuinfo

- Producent karty graficznej i model. Np.:

  - ASUS V3800U chip: nVidia TNT2 Ultra pro 32MB SDRAM

  - Matrox G400 DH 32MB SGRAM

- Typ sterownika video i wersja, np:

  - wbudowane sterowniki X

  - nVidia 0.9.623

  - Utah-GLX CVS 2001-02-17

  - DRI z X 4.0.3

- Typ karty dźwiękowej i sterownik, np:

  - Creative SBLive! Gold ze sterownikiem OSS z oss.creative.com

  - Creative SB16 ze sterownikiem OSS z kernela

  - GUS PnP z emulacją ALSA OSS

- Jeżeli masz wątpliwości, załącz wyjście linuksowego polecenia lspci -vv.

### A.6.3. Problemy z konfiguracją

Jeżeli ./configure zwraca błąd albo automatyczne wykrywanie czegoś zawiedzie, przeczytaj `config.log`. Możliwe, że znajdziesz tam odpowiedź, na przykład kilka połączonych wersji tej samej biblioteki w Twoim systemie albo że zapomniałeś zainstalować pakietów rozwojowych (tych z przyrostkiem -dev albo -devel). Jeżeli wydaje Ci się, że istnieje jednak błąd, załącz `config.log` w twoim raporcie.

### A.6.4. Problemy z kompilacją

Prosimy załączyć następujące pliki:

- config.h

- config.mak

### A.6.5. Problemy z odtwarzaniem

Prosimy załączyć wyjście MPlayera w trybie gadatliwym na poziomie pierwszym (opcja -v - przyp. tłum.), ale pamiętając o nie skracaniu wyniku polecenia podczas kopiowania go do Twojego listu. Deweloperzy potrzebują wszystkich informacji do prawidłowego zdiagnozowania problemu. Możesz przekierować wyjście bezpośrednio do pliku w ten sposób:

    mplayer -v opcje nazwa_pliku > mplayer.log 2>&1

Jeżeli Twój problem jest specyficzny dla jednego albo wielu plików, załaduj winowajcę(ów) na: ftp://upload.mplayerhq.hu/incoming/

Załaduj także mały plik tekstowy nazwany tak samo jak Twój plik, ale z rozszerzeniem .txt. Opisz w nim problem, który masz z zawartym plikiem i załącz swój adres email oraz wyjście MPlayera w trybie gadatliwym na poziomie pierwszym. Zazwyczaj pierwsze 1-5 MB pliku jest wystarczające do odtworzenia problemu, ale żeby być pewnym prosimy wykonać:

    dd if=twój_plik of=mały_plik bs=1024k count=5

To polecenie weźmie pierwsze pięć megabajtów 'twojego_pliku' i zapisze je do 'małego_pliku'. Następnie spróbuj odtworzyć mały plik i jeśli błąd wciąż się pojawia plik ten jest dla nas wystarczający. Prosimy w żadnym wypadku nie wysyłać plików poprzez pocztę elektroniczną! Załaduj je na serwer FTP i wyślij tylko ścieżkę/nazwę pliku. Jeżeli plik jest dostępny w sieci, wyślij dokładny adres pod którym jest on dostępny.

### A.6.6. Awarie programu (ang. Crashes)

Musisz uruchomić MPlayera wewnątrz gdb i wysłać nam kompletne wyjście, albo jeżeli posiadasz zrzut `core` (ang. core dump) utworzony w wyniku awarii, wyciągnąć z niego użyteczne informacje. Oto jak to zrobić:

#### A.6.6.1. Jak otrzymać informację o awarii

Przekompiluj MPlayera z opcją debugowania kodu:

    ./configure --enable-debug=3
    make

i uruchom MPlayera używając gdb:

    gdb ./mplayer

Jesteś teraz wewnątrz gdb. Wpisz:

    run -v opcje-mplayera nazwa_pliku

i odtwórz swoją awarię. Gdy tylko to zrobisz, gdb przeniesie cię z powrotem do wiersza poleceń, gdzie należy wpisać

    bt
    disass $pc-32 $pc+32
    info all-registers

#### A.6.6.2. Jak wyciągnąć sensowne informacje ze zrzutu core (ang. core dump)

Utwórz plik z nastepującymi poleceniami:

    bt
    disass $pc-32 $pc+32
    info all-registers

A następnie uruchomić następujące polecenie:

    gdb mplayer --core=core -batch --command=plik_z_poleceniami > mplayer.bug

Poprzedni | Początek rozdziału | Następny
A.5. Gdzie zgłaszać błędy | Spis treści | A.7. Wiem co robię...