diff DOCS/Chinese/bugreports.html @ 9080:e7aad3a3bb7c

sync by <hephooey@fastmail.fm>
author diego
date Fri, 24 Jan 2003 21:35:40 +0000
parents 363959276ef2
children a76b8962c0bd
line wrap: on
line diff
--- a/DOCS/Chinese/bugreports.html	Fri Jan 24 18:38:54 2003 +0000
+++ b/DOCS/Chinese/bugreports.html	Fri Jan 24 21:35:40 2003 +0000
@@ -2,65 +2,73 @@
 <HTML>
 
 <HEAD>
-  <TITLE>bug报告 -- MPlayer -- Linux的电影播放器</TITLE>
+  <TITLE>Bug报告 -- MPlayer -- Linux下的电影播放器</TITLE>
   <LINK REL="stylesheet" TYPE="text/css" HREF="default.css">
-  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb_2312-80">
+  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gbk">
 </HEAD>
 
 <BODY>
 
 
-<H1><A NAME="B">附录B -- 如何报告bug</A></H1>
+<H1><A NAME="appendix_b">附录B -- 如何报告bug</A></H1>
 
 <P>好的bug报告对任何软件项目的发展都是十分有价值的贡献。但是就象写好的软件一样,好的问题报告也需要一些工作。请明白大多数开发者忙的要死并且会收到
-多的变态的电子邮件。所以尽管你的反馈对改进<B>MPlayer</B>至关重要而且非常值得赞赏,希望你理解你必须提供我们需要的<B>所有</B>信息并且严格遵循这个
+多的变态的电子邮件。所以尽管你的反馈对改进MPlayer至关重要而且非常值得赞赏,希望你理解你必须提供我们需要的<B>所有</B>信息并且严格遵循这个
 文件中的指导进行。</P>
 
 
-<H2>如何修正bug</H2>
+<H2><A NAME="fix">B.1 如何修复bug</A></H2>
 
-<P>如果你觉得你有足够的技巧欢迎你尝试自己修正bug。或者也许你已经这么干了?请阅读<A HREF="tech/patches.txt">这个简短的文件</A>了解怎样让你的代码
-包括到<B>MPlayer</B>的代码中。如果你有问题可以从加入<A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng">mplayer-dev-eng</A>
+<P>如果你觉得你有足够的技巧欢迎你尝试自己修正bug。还是你已经这么干了?请阅读<A HREF="tech/patches.txt">这个简短的文件</A>了解怎样让你的代码
+包括到MPlayer的代码中。如果你有问题可以从加入<A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng">mplayer-dev-eng</A>
 邮件列表的人那里获得帮助。</P>
 
 
-<H2>如何报告bug</H2>
+<H2><A NAME="report">B.2 如何报告bug</A></H2>
 
-<P>首先,请先尝试<B>MPlayer</B>最新的CVS版本,因为你的bug在那里可能已经被修正了。发展过程进展的相当快,官方发行版的大部分问题在几天甚至几小时之内
+<P>首先,请先尝试MPlayer最新的CVS版本,因为你的bug在那里可能已经被修正了。发展过程进展的相当快,官方发行版的大部分问题在几天甚至几小时之内
 就被报告了,因此请<B>仅仅使用CVS</B>来报告bug。CVS指令能在<A HREF="http://www.mplayerhq.hu/homepage/dload.html">这个页面</A>的底部或者
-README中找到。如果这样做没有改进那么请查阅<A HREF="documentation.html#known_bugs">已知的bug列表</A>和文件的其他部分。如果你的问题我们没有提到或者
+README中找到。如果这样做没有改进那么请查阅<A HREF="documentation.html#known_bugs">已知的bug</A>和文件的其他部分。如果你的问题我们没有提到或者
 按照我们提供的步骤没有解决,那么请报告bug。</P>
 
-<P>请不要私下向单独的开发者报告bug。这是一项社区工作所以可能有若干人都对它感兴趣。有时其它用户已经遇到过你的麻烦并且知道如何绕过这个问题
-即使它是<B>MPlayer</B>代码中的bug。</P>
+<P>请不要私下单独向开发者报告bug。这是一项社区工作所以可能有若干人都对它感兴趣。有时其它用户已经遇到过你的麻烦并且知道如何绕过这个问题
+即使它是MPlayer代码中的bug。</P>
 
 <P>请尽可能详细的描述你的问题。做一些小的侦探工作来确定问题发生的情况的范围。这个bug只在一定的情况中出现吗?或是具体针对特定文件或者文件类型吗?
 它是针对于唯一的编码格式还是独立于编码格式的?你能用所有的输出驱动重现它吗?你提供的信息越多我们的修复你的问题的机会就越大。别忘了也要包括下面所要求的
 有价值的信息,否则我们将无法正确分析你的问题。</P>
 
-<P>有篇文采飞扬的关于如何在公共论坛上提问的极好的指导是Eric S. Raymond写的<A HREF="http://www.tuxedo.org/~esr/faqs/smart-questions.html">
-How To Ask Questions The Smart Way</A>。你照着那些指示做是没问题的。但是请明白我们大家都在我们的自由时间自愿地回复邮件列表。我们十分忙碌并且
+<P>有篇文采飞扬的关于如何在公共论坛上提问的极好的指导是<A HREF="http://www.tuxedo.org/~esr/">Eric S. Raymond</A>写的<A 
+HREF="http://www.tuxedo.org/~esr/faqs/smart-questions.html">How To Ask Questions The Smart Way</A>。还有另一篇<A 
+HREF="http://www.chiark.greenend.org.uk/~sgtatham/">Simon Tatham</A>写的<A
+HREF="http://www.chiark.greenend.org.uk/~sgtatham/bugs.html">如何有效的报告Bugs</A>。
+按照那些指示做是没有问题的。但是请明白我们大家都在我们的自由时间自愿地回复邮件列表。我们十分忙碌并且
 不能保证你的问题一定能得到解决甚至得到回复。</P>
 
 
-<H3>向哪里报告错误?</H3>
+<H2><A NAME="where">B.3 向哪里报告错误?</A></H2>
 
 <P>订阅mplayer-users邮件列表:<BR>
   &nbsp;&nbsp;&nbsp;&nbsp;<A HREF="http://mplayerhq.hu/mailman/listinfo/mplayer-users">http://mplayerhq.hu/mailman/listinfo/mplayer-users</A><BR>
   同时,把你的bug发送到:<BR>
   &nbsp;&nbsp;&nbsp;&nbsp;<A HREF="mailto:mplayer-users@mplayerhq.hu">mplayer-users@mplayerhq.hu</A></P>
 
-<P>这个列表使用的语言是<B>英语</B>。请遵循标准的<A HREF="http://www.ietf.org/rfc/rfc1855.txt">Netiquette标准</A>并且<B>不要发送HTML邮件</B>
-到任何我们的邮件列表。你将被忽略或者封掉。如果你不知道什么是HTML邮件,以及它为什么邪恶,阅读这个<A HREF="http://expita.com/nomime.html">不错的文件</A>。
-它解释了所有细节和关掉HTML的指令。也请注意到我们不会个别地CC(抄送)给人因此最好通过订阅来保证你会收到答案。</P>
+<P>这个列表使用的语言是<B>英语</B>。请遵循标准的<A HREF="http://www.ietf.org/rfc/rfc1855.txt">网络礼节指导</A>并且<B>不要发送HTML邮件</B>
+到任何我们的邮件列表。你将被忽略或者封掉。如果你不知道什么是HTML邮件,以及它为什么邪恶,看看这篇<A
+HREF="http://expita.com/nomime.html">写的不错的文档</A>。它解释了所有细节和关掉HTML的指令。也请注意到我们不会个别地CC(抄送)给人因此
+最好通过订阅来保证你会收到答案。</P>
 
 
-<H3>报告什么?</H3>
+<H2><A NAME ="what">B.4 报告什么?</A></H2>
 
-<H4>系统信息:</H4>
+<P>你可能需要在你的bug报告中包括log,配置或者样本文件。如果它们中间有什么特别大的,最好把它们以压缩格式(最好是gzip或bzip2)
+上载到我们的<A HREF="ftp://mplayerhq.hu/MPlayer/incoming/">FTP服务器</A>上。我们的邮件列表上一条消息大小限制是80k,
+如果你有比这更大的东西请压缩或上载它。</P>
+
+<H3><A NAME="system">B.4.1 系统信息</A></H3>
 
 <UL>
-  <LI>你的Linux发行版或者操作系统,比如:。
+  <LI>你的Linux发行版或者操作系统,比如:
     <UL>
       <LI>Red Hat7.1</LI>
       <LI>Slackware 7.0 + devel packs from 7.1 ...</LI>
@@ -77,11 +85,17 @@
       ld -v </CODE></LI>
   <LI>binutils版本:<BR>
       <CODE>as --version</CODE></LI>
-  <LI>如果你有全屏模式方面的问题:
+  <LI>如果是全屏模式的问题:
     <UL>
       <LI>窗口管理器类型和版本</LI>
     </UL>
   </LI>
+  <LI>如果是关于XVIDIX的问题:
+    <UL>
+      <LI>X色深:<BR>
+          <CODE>xdpyinfo | grep "depth of root"</CODE></LI>
+    </UL>
+  </LI>
   <LI>如果是buggy的GUI:
     <UL>
       <LI>GTK版本</LI>
@@ -93,7 +107,7 @@
 </UL>
 
 
-<H4>硬件 &amp; 驱动:</H4>
+<H3><A NAME="hardware">B.4.2 硬件和驱动</A></H3>
 
 <UL>
   <LI>CPU信息(仅用于Linux):<BR>
@@ -119,34 +133,43 @@
       <LI>GUS PnP with ALSA OSS emulation</LI>
     </UL>
   </LI>
-  <LI>如果不放心的话对linux系统再附上<CODE>lspci -vv</CODE>的输出。</LI>
+  <LI>如果不放心的话对linux系统可以再附上<CODE>lspci -vv</CODE>的输出。</LI>
 </UL>
 
 
-<H4>对于编译问题/错误</H4>
+<H3><A NAME="compilation">B.4.3 编译问题</A></H3>
 
-请包括这些文件:
+请附上下列文件:
 
 <UL>
-  <LI>configure.log</LI>
   <LI>config.h</LI>
   <LI>config.mak</LI>
-  <LI>libvo/config.mak</LI>
+</UL>
+
+如果编译失败发生在下面的目录,附上这些文件:
+
+<UL>
+  <LI><CODE>Gui/config.mak</CODE></LI>
+  <LI><CODE>libvo/config.mak</CODE></LI>
+  <LI><CODE>libao2/config.mak</CODE></LI>
 </UL>
 
+<H3><A NAME="configure">B.4.4 配置问题</A></H3>
 
-<H4>对于回放问题</H4>
+附上<CODE>configure.log</CODE>.
 
-<P>请包括<B>MPlayer</B>的冗长水平为1的输出,但是记住当你把它粘贴到你的邮件中时<B>不要删减输出内容</B>。开发者们需要所有的信息来正确的分析问题。
+<H3><A NAME="playback">B.4.5 播放的问题</A></H3>
+
+<P>请包括MPlayer的冗长水平为1的输出,但是记住当你把它粘贴到你的邮件中时<B>不要删减输出内容</B>。开发者们需要所有的信息来正确的分析问题。
 你可以像这样把输出导入到一个文件中:</P>
 
-<P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;mplayer -v [options] [filename] &amp;&gt; mplayer.log</CODE></P>
+<P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;mplayer -v [options] [filename] &gt; mplayer.log 2&gt;&amp;1</CODE></P>
 
-<P>如果你的问题是具体对于一个或更多的文件的,那么请上传捣乱的文件:</P>
+<P>如果你的问题是具体对于一个或更多的文件的,那么请上传有问题的文件:</P>
 
 <P>&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="ftp://mplayerhq.hu/MPlayer/incoming/">ftp://mplayerhq.hu/MPlayer/incoming/</A></P>
 
-<P>再上传一个小的同样文件名的文本文件加上.txt的扩展名。在其中描述对于这个特别的文件你遇到的问题加上你的电子邮件地址还有<B>MPlayer</B>冗长水平为1的输出。
+<P>再上传一个小的同样文件名的文本文件加上.txt的扩展名。在其中描述对于这个特别的文件你遇到的问题加上你的电子邮件地址还有MPlayer冗长水平为1的输出。
 通常文件的前1-5MB足以重现问题,但为了以防万一我们要求你运行:</P>
 
 <P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;dd if=yourfile of=smallfile bs=1024k count=5</CODE></P>
@@ -156,38 +179,21 @@
 那么发送<STRONG>准确的</STRONG>URL就足够了。</P>
 
 
-<H4>对于崩溃</H4>
+<H3><A NAME="crash">B.4.6 崩溃</A></H3>
+
+<P>你应该在<CODE>gdb</CODE>里面运行MPlayer并把完整的输出发送给我们,或者你有一个崩溃产生的core dump,你可以从<CODE>Core</CODE>文件中提取
+有用的信息,下面教你怎么做:</P>
 
 <P>如果你的崩溃有一个core dump那么继续阅读下一段,否则跳过它。</P>
 
-
-<H4>如何从一个core dump中提取出有意义的信息</H4>
-
-<P>请建立下面的命令文件:</P>
+<H4><A NAME="debug">B.4.6.1 如何保存一个可重复的崩溃的信息</A></H4>
 
-<P><CODE>disass $eip-32 $eip+32<BR>
-  printf "eax=%08lX\n",$eax<BR>
-  printf "ebx=%08lX\n",$ebx<BR>
-  printf "ecx=%08lX\n",$ecx<BR>
-  printf "edx=%08lX\n",$edx<BR>
-  printf "esp=%08lX\n",$esp<BR>
-  printf "ebp=%08lX\n",$ebp<BR>
-  printf "edi=%08lX\n",$edi<BR>
-  printf "esi=%08lX\n",$esi</CODE></P>
-
-<P>然后直接在你的命令行下执行下列命令:</P>
-
-<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>gdb mplayer --core=core -batch --command=command_file &gt; mplayer.bug</CODE></P>
-
-
-<H4>如何保存一个可再现的崩溃的信息</H4>
-
-开启调试代码重新编译<B>MPlayer</B>:
+开启调试代码重新编译MPlayer:
 
 <P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;./configure --enable-debug=3<BR>
   &nbsp;&nbsp;&nbsp;&nbsp;make</CODE></P>
 
-然后用gdb运行<B>MPlayer</B>:
+然后用gdb运行MPlayer:
 
 <P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;gdb mplayer</CODE></P>
 
@@ -198,22 +204,27 @@
 然后再现你的崩溃。一旦你成功了,gdb将回到命令行,你需要输入
 
 <P><CODE>&nbsp;&nbsp;&nbsp;&nbsp;bt<BR>
-  &nbsp;&nbsp;&nbsp;&nbsp;disass $eip-32 $eip+32</CODE></P>
+  &nbsp;&nbsp;&nbsp;&nbsp;disass $pc-32 $pc+32<BR>
+  &nbsp;&nbsp;&nbsp;&nbsp;info all-registers</CODE></P>
+
+<H4><A NAME="core">B.4.6.2 如何从一个core dump中提取出有意义的信息</A></H4>
+
+<P>请建立下面的命令文件:</P>
 
-然后把完整的输出发给我们。
+<P><CODE>disass $pc-32 $pc+32<BR>
+  info all-registers</CODE></P>
+
+<P>然后直接在你的命令行下执行下列命令:</P>
+
+<P>&nbsp;&nbsp;&nbsp;&nbsp;<CODE>gdb mplayer --core=core -batch --command=command_file &gt; mplayer.bug</CODE></P>
 
 
-<H3>一般的注意事项</H3>
-
-<P>如果有什么东西特别大(比如log)最好把它压缩(最好是gzip或者bzip)之后上载到FTP server上并且在你的bug报告中只要包含路径和文件名。</P>
+<H2><A NAME="advusers">B.5 我知道我在干什么...</A></H2>
 
-
-<H2>我知道我在干什么...</H2>
-
-<P>如果你按照上述步骤建立了一个正确的bug报告而且你充满信心它是<B>MPlayer</B>中的bug,而不是因为编译错误或者文件损坏的问题,你已经阅读了文档并且
+<P>如果你按照上述步骤建立了一个正确的bug报告而且你充满信心它是MPlayer中的bug,而不是因为编译错误或者文件损坏的问题,你已经阅读了文档并且
 找不到解决方案,此外你的声卡驱动正常,那么你可能想要订阅mplayer-advusers列表并把你的bug报告发到那里以便得到更快更好的答案。<BR><BR>
   请听从我们的劝告,如果你在那里问新手级的问题或者问用户手册中已经回答过的问题,你将被忽略或者被骂而不会得到答案。<BR>
-  因此,不要骂我们并且仅仅当你确实知道你在干什么并且觉得你已经是高级<B>MPlayer</B>用户或者是开发者再订阅 -advusers。如果你符合这些标准找出如何
+  因此,不要骂我们并且仅仅当你确实知道你在干什么并且觉得你已经是高级MPlayer用户或者是开发者再订阅 -advusers。如果你符合这些标准找出如何
 订阅应该不难...</P>
 
 </BODY>