A.6. Что сообщать
Пред. | Приложение A. Как сообщать об ошибках | След.

## A.6. Что сообщать

Вам необходимо включить лог, конфигурацию или примеры файлов в сообщение об ошибке. Если что-то из этого большое, то лучше загрузить это на наш FTP сервер в сжатом виде (предпочтительно gzip или bzip2) и включить в сообщение об ошибке только путь и имя файла. На наших рассылках стоит ограничение размера сообщения в 80Кб. Если у Вас что-то большее, то сожмите или загрузите это.

### A.6.1. Системная информация

- Ваш дистрибутив Linux или операционная система и версия, например:

  - Red Hat 7.1

  - Slackware 7.0 + пакеты разработки из 7.1 ...

- версию ядра:

      uname -a

- версию libc:

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

- версии gcc и ld:

      gcc -v
      ld -v

- версия binutils:

      as --version

- Если у Вас проблемы с полноэкранным режимом:

  - Тип оконного менеджера и версия

- Если у Вас проблема с XVIDIX:

  - глубина цвета X'ов:

        xdpyinfo | grep "depth of root"

- Если глючит только GUI:

  - версия GTK

  - версия GLIB

  - версия libpng

  - ситуация с GUI, в которых проявляется проблема

### A.6.2. Аппаратура и драйверы

- Информация о CPU (это сработает только под Linux):

      cat /proc/cpuinfo

- Производитель и модель видео карты, например:

  - ASUS V3800U чип: nVidia TNT2 Ultra pro 32MB SDRAM

  - Matrox G400 DH 32MB SGRAM

- Тип драйвера и версия, например:

  - Встроенный в X'ы

  - nVidia 0.9.623

  - Utah-GLX CVS 2001-02-17

  - DRI из X 4.0.3

- Тип и драйвер звуковой карты, например:

  - Creative SBLive! Gold с OSS драйверами от oss.creative.com

  - Creative SB16 с OSS драйверами из ядра

  - GUS PnP с ALSA OSS эмуляцией

- Если Вы сомневаетесь, на Linux системах включите вывод lspci -vv.

### A.6.3. Проблемы конфигурации

Если Вы получаете ошибку при выполнении ./configure, или если автоопределение чего-то не срабатывает, прочитайте `configure.log` . Там Вы можете обнаружить ответ, например если у Вас стоят несколько версий одной библиотеки, или если Вы забыли установить пакет разработки (тот самый, с суффиксом -dev). Если Вы думаете, что это ошибка, включите в сообщение файл `configure.log`.

### A.6.4. Проблемы компиляции

Пожалуйста, включите эти файлы:

- config.h

- config.mak

Если компиляция ломается в одном из этих каталогов, включите эти файлы:

- Gui/config.mak

- libvo/config.mak

- libao2/config.mak

### A.6.5. Проблемы при воспроизведении

Пожалуйста, включите вывод MPlayer'а с уровнем "многословности"[verbose] 1, но запомните: не сокращайте вывод, когда Вы его вставляете в почту. Разработчикам понадобятся все сообщения, чтобы правильно диагностировать проблему. Вы можете направить вывод в файл, например так:

    mplayer -v options filename > mplayer.log 2>&1

Если проблема специфична для одного или нескольких файлов, пожалуйста, загрузите проблемные файлы на: ftp://mplayerhq.hu/MPlayer/incoming/

Также загрузите маленький текстовый файл с базовым именем как у Вашего файла и расширением `.txt`. Опишите проблему, возникающую у Вас с соответствующим файлом и включите ваш электронный адрес и вывод MPlayer'а с уровнем "многословности" 1. Куска файла размером 1-5 Мб обычно бывает достаточно, чтобы воспроизвести проблему, но чтобы быть уверенными, мы просим вас сделать:

    dd if=yourfile of=smallfile bs=1024k count=5

Это запишет первые 5 Мб файла 'your-file' и запишет в файл 'small-file'. Теперь снова попытайтесь с эти маленьким файлом, и если проблема все ещё проявляется, тогда этого примера будет достаточно для нас. Пожалуйста, никогда не отсылайте эти файлы по почте! Загрузите его и отошлите только путь/имя файла не FTP-сервере. Если файл доступен по сети, тогда просто пришлите точный URL, и этого будет достаточно.

### A.6.6. Краши[crash]

Вы должны запустить MPlayer внутри gdb и прислать нам полный вывод, или , если у Вас есть `core` dump поломки, Вы можете извлечь необходимую полезную информацию из файла core. Вот как:

#### A.6.6.1. Как сохранить информацию о воспроизводимом краше

Перекомпилируйте MPlayer с включённым кодом отладки:

    ./configure --enable-debug=3
    make

и запустите MPlayer внутри gdb:

    gdb ./mplayer

Теперь вы в gdb. Наберите:

    run -v опции-для-mplayer имя-файла

и воспроизведите краш. Как только Вы это сделаете, gdb вернёт Вас к приглашению командной строки, где Вы должны набрать

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

#### A.6.6.2. Как извлечь полезную информацию из дампа [core dump]

Создайте следующий командный файл:

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

Теперь просто выполните такую команду:

    gdb mplayer --core=core -batch --command=командный-файл > mplayer.bug

Пред. | Уровень выше | След.
A.5. Куда сообщать об ошибках | Начало | A.7. Я знаю, что я делаю...