A.6. 报告什么

你可能要在你的错误报告中包含日志,配置或例子文件。如果他们中一些非常大, 最好把它压缩(请尽量使用gzip或bzip2)并提交到我们的 FTP服务器 上并且在你的错误报告中只包含路径及文件名称。我们的邮件列表有80k的信息限制, 如果你有更大的附件,你不得不压缩后提交。

A.6.1. 系统信息

  • 你的Linux发行版本或操作系统及版本,如:

    • Red Hat 7.1

    • Slackware 7.0 + devel packs from 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 chip: nVidia TNT2 Ultra pro 32MB SDRAM

    • Matrox G400 DH 32MB SGRAM

  • 显卡驱动 & 版本,例如:

    • X built-in driver

    • nVidia 0.9.623

    • Utah-GLX CVS 2001-02-17

    • DRI from X 4.0.3

  • 声卡型号 & 驱动,例如:

    • Creative SBLive! Gold with OSS driver from oss.creative.com

    • Creative SB16 with kernel OSS drivers

    • GUS PnP with ALSA OSS emulation

  • 如果还存在疑问,包含LInux系统上的lspci -vv输出信息。

A.6.3. Configure问题

当你在执行./configure,或一些自动检测发生错误,阅读 configure.log。你可能会在那里发现答案。例如同一链接库的不同 版本共存于你的系统上,或者你忘记安装开发包(包含有-dev后缀)。如果你认为有错误, 在你的错误报告中包含configure.log

A.6.4. 编译问题

请包含这些文件:

  • config.h

  • config.mak

A.6.5. 回放错误

请包含MPlayer在一级verbose模式下的输出,另外谨记 当你把它粘贴入邮件时不要截断输出 开发者需要所有信息以便正确诊断一个问题。你可以如下把输出定向到一个文件:

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

如果你的问题只针对一个或更多文件,请把他们上传到: ftp://upload.mplayerhq.hu/MPlayer/incoming/

另外上传一个和你的原始文件有相同本名并用.txt为后缀的小文本文件。描述你在此文件 上遇到的问题,并且包含你的email以及MPlayer在verbose 一级模式下的输出。通常,文件的前1-5 MB足够用于重现问题,可是确定我们请你做:

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

它将提取'你的文件'的前5MB,并将它写入 '小文件'。然后在此小文件上重试,如果 错误重现,你的例子对我们已经足够了。 请千万不要通过邮件传送此文件! 上传并且只发送文件在FTP服务器上的路径/文件名。如果文件在网络上获得,那么发送 精确的URL就足够了。

A.6.6. 崩溃

你需要在gdb里运行MPlayer并且把 完全输出发给我们,或者如果你有此崩溃的core输出,你能从 Core文件中提取有用的信息。如下:

A.6.6.1. 如何保存一个可重复崩溃的信息

重新编译MPlayer并打开debug选项:

./configure --enable-debug=3
make

然后在gdb中运行MPlayer:

gdb ./mplayer

你先在在gdb里面。输入:

run -v options-to-mplayer filename

重复你的崩溃。你一重现此现象,gdb将使你返回命令行,在此你输入

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

A.6.6.2. 如何从core输出文件中提取有用信息

创建如下命令文件:

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

然后只执行这个命令

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