haiku/docs/welcome/jp/bugreports.html

170 lines
20 KiB
HTML
Raw Normal View History

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US">
<head>
<!--
*
* Copyright 2008-2010, Haiku. All rights reserved.
* Distributed under the terms of the MIT License.
*
* Authors:
* Niels Reedijk, Matt Madia and Ingo Weinhold who wrote
* http://dev.haiku-os.org/wiki/ and http://dev.haiku-os.org/wiki/ReportingBugs
* Humdinger <humdingerb@gmail.com>
* Translators:
* Shota Fukumori
* log-1
*
-->
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="robots" content="all" />
<title>バグの報告</title>
<link rel="stylesheet" type="text/css" href="../Haiku-doc.css" />
</head>
<body>
<div id="banner">
<div><span>User guide</span></div>
</div>
<div class="nav">
<div class="inner">
<ul class="lang-menu">
<li class="now"><img src="../images/flags/jp.png" alt="" /> 日本語</li>
<li><a href="../fr/bugreports.html"><img src="../images/flags/fr.png" alt="" />Français</a></li>
<li><a href="../de/bugreports.html"><img src="../images/flags/de.png" alt="" />Deutsch</a></li>
<li><a href="../it/bugreports.html"><img src="../images/flags/it.png" alt="" />Italiano</a></li>
<li><a href="../ru/bugreports.html"><img src="../images/flags/ru.png" alt="" />Русский</a></li>
<li><a href="../es/bugreports.html"><img src="../images/flags/es.png" alt="" />Español</a></li>
<li><a href="../sv_SE/bugreports.html"><img src="../images/flags/sv_SE.png" alt="" />Svensk</a></li>
<li><a href="../uk/bugreports.html"><img src="../images/flags/uk.png" alt="" />Українська</a></li>
<li><a href="../zh_CN/bugreports.html"><img src="../images/flags/zh_CN.png" alt="" /> 中文 [中文]</a></li>
<li><a href="../pt_PT/bugreports.html"><img src="../images/flags/pt_PT.png" alt="" />Português</a></li>
<li><a href="../en/bugreports.html"><img src="../images/flags/gb.png" alt="" />English</a></li>
</ul>
<span>
<a href="../welcome_jp.html" class="uplink">Welcome</a>
</span></div>
</div>
<div id="content">
<div>
<table class="index" id="index" summary="index">
<tr class="heading"><td>バグの報告</td></tr>
<tr class="index"><td><a href="#account">Tracのアカウントを取得する</a><br />
<a href="#report">バグレポートの作成</a><br />
<a href="#app">アプリケーションのバグ</a><br />
<a href="#server">サーバーのバグ</a><br />
<a href="#kernel">カーネルのバグ</a><br />
<a href="#kdl">Kernel Debugging Land - KDL</a><br />
<a href="#syslog">Syslog</a><br />
<a href="#onscreen">スクリーン上でのデバッグ</a><br />
<a href="#hardware">Hardware/Driver bugs</a><br />
<a href="#next">そして次は</a></td></tr>
</table>
<h1>バグの報告</h1>
<p>私たちの開発者はあらゆるハードウェア構成でテストする事は不可能です。様々な要因がオペレーティングシステムに影響を与えるため、私たちはユーザーの動作の報告などの情報に頼っています。そして Haiku はまだ幼いプロジェクトのため、バグに遭遇する可能性が高いです。私たちはバグを報告してくれるのを待っています。少しずつ Haiku を改善してもっと良いものにしていきませんか?</p>
<p>私たちのバグ・トラッカーに有効に保つため、<a href="http://dev.haiku-os.org/wiki/BugTrackerEtiquette">バグ・トラッカーにおけるエチケット</a>を絶対に守ってください。</p>
<h2><a href="#"><img src="../images/up.png" style="border:none;float:right" alt="index" /></a>
<a id="account" name="accout">Trac のアカウントを取得する</a></h2>
<p>チケットを登録するには、<a href="http://dev.haiku-os.org/register" title="Register at Haiku's Bugtracker">Haiku バグ・トラッカー</a>でアカウントを取得する必要があります。<br />
アカウントを作るときは、チケットの更新通知メールを受信するために<b>自分のメールアドレスを登録すること</b>が必要です。さまざまな確認のためのメールが届くため、アカウントを作成した後は、こまめに<b>迷惑メールフォルダ</b>をチェックするようにしてください。というのも、重要な確認メールがしばしば迷惑メールに分類されてしまうからです。</p>
<h2><a href="#"><img src="../images/up.png" style="border:none;float:right" alt="index" /></a>
<a id="report" name="report">バグレポートの作成</a></h2>
<p>バグを報告する前は、 もうすでに報告されていないか<a href="http://dev.haiku-os.org/query?status=new&amp;status=assigned&amp;status=reopened&amp;status=closed&amp;summary=%7Etext+you+want+to+search+for&amp;order=priority">確認を</a>するようにしてください。<a href="http://dev.haiku-os.org/search?q=&amp;noquickjump=1&amp;ticket=on">検索機能</a>が有用です。<br />
報告されていないことを確認したら、以下の情報を可能な限り多く提供してください:</p>
<ul>
<li><p>そのバグが最新バージョンでも再現するかを確認してみてください。最新バージョンのイメージは<a href="http://haiku-files.org/">ここから入手できます</a></p></li>
<li><p>テストした環境の情報 (物理的なハードウェア, QEMU, VMware, など)</p></li>
<li><p><acronym title="Subversion, the source code management system we use">SVN</acronym>でのリビジョン番号。リビジョン番号はデスクバーメニューの <span class="menu">Haiku について...</span> から見つけることができます。また、 Haiku をビルドした環境も必要かもしれません。 (gcc2, gcc4, gcc2hybrid, gcc4hybrid) ダウンロードしたイメージの場合イメージ名を書いてください。自分でビルドした場合、何でビルドしたのかを知っておく必要があります。</p></li>
<li><p>可能な限り正しく、実際に起きた挙動を説明し、その後自分が予測した挙動と、現在の挙動の問題を説明する</p></li>
<li><p>再現する手順や準備。これは開発者が再現するために必要です。</p></li>
<li><p>その他の情報。GUI周りのバグやアプリケーションのバグならば、<span class="key">PRINT</span> キーを押下しスクリーンショットを取得してください。</p></li>
</ul>
<h2><a href="#"><img src="../images/up.png" style="border:none;float:right" alt="index" /></a>
<a id="app" name="app">アプリケーションのバグ</a></h2>
<p>アプリケーションがクラッシュしたときは、ポップアップしたダイアログからデバッガーを起動すべきです。そうすると gdb (GNU デバッガー) がターミナル画面の上で起動します。 <span class="cli">bt</span> と入力することで "バックトレース" が出力されるので、それをそのままコピーし (<span class="cli">bt</span> と入力する前も含める) 、そのままチケットに添付してください。</p>
<h2><a href="#"><img src="../images/up.png" style="border:none;float:right" alt="index" /></a>
<a id="server" name="server">サーバーのバグ</a></h2>
<p>App server, registrar, input server のような必須のサーバーがクラッシュしたときはよくあるクラッシュアラートを見ることは無いでしょう。スクリーン全体が白で塗りつぶされ、gdbのセッションがスタートします。出力はスクリーンに直接出力されます。だいたいの場合、マウスはまだ動かすことができますが、gdbの出力を上書きします。アプリケーションも動いたままで、 (たとえば ProcessController や デスクバーの時計のように) それもgdbの出力を上書きします。<br />
さらに、アプリケーションのバグに比べ全ては見にくく便利ではありません。アプリケーションのバグのようにはいかないでしょう。バックトレースの取得 (<span class="cli">bt</span> コマンド) も、テキストのコピーができないためデジタルカメラ等を用いて写真を撮影しないとならないでしょう。</p>
<h2><a href="#"><img src="../images/up.png" style="border:none;float:right" alt="index" /></a>
<a id="kernel" name="kernel">カーネルのバグ</a></h2>
<p>カーネルのバグのデバッグは最も難しいでしょう。カーネルやドライバーのバグにはこのようなさまざまな症状があります:</p>
<ul>
<li><p>システムは kernel debugging land (KDL) に入ります。画面上部はクリアされいくつかの KDL に入る原因となった理由を含むと思われる文字列が出力されます。次に、 "<i>Welcome to Kernel Debugging Land...</i>" と出力されます。</p></li>
<li><p>システムは自然に再起動します。</p></li>
<li><p>システムは完全にフリーズします。マウスを動かすこともできず、アプリケーションも停止します。 <span class="key">ALT</span> <span class="key">SysReq</span> <span class="key">D</span> (だいたいのキーボードで、 <span class="key">SysReq</span><span class="key">PRINT</span> と同じキーです) を押して、KDLに入ることができます。</p></li>
<li><p>システムは正常に起動しません。起動中に再起動するか、起動中にどこかで止まるかのどちらかだと思います。 (たとえば、ブートスクリーンでのいくつかのアイコンで) このケースでも <span class="key">ALT</span> <span class="key">SysReq</span> <span class="key">D</span> を押して KDL に入ることができると思われます。</p></li>
<li><p>システム全体もしくは一部のハードウェアで正常な動作をしない。たとえば、それがすごく遅く動作する、エラーが発生する、完全に動作しない、などです。一部のハードウェアが動作をしないならば、まず Haiku がそれをサポートするかどうかを確認してください (メーリングリストやフォーラムで聞いてみるなど)</p></li>
</ul>
<p>最後の例でハードウェアに関連すると思われる場合は、その動作がドライバーのバグかもしれません。もしドライバーやハードウェアに疑いを持っているならば、そのハードウェアを取り外したり無効化をするなどしてどのように変わるかを確認してください。たとえば、 Wifi が問題だと疑っているならば BIOS の設定を参照して Wifi を無効化したり、 Wifi ドライバーを Haiku のインストール作業で取り除く (<span class="path">/boot/system/add-ons/kernel/drivers/bin</span> の中にあります) 等といった事です。</p>
<h3><a href="#"><img src="../images/up.png" style="border:none;float:right" alt="index" /></a>
<a id="kdl" name="kdl">Kernel Debugging Land - KDL</a></h3>
<p>システムが KDL に自動で入らなかった場合、 <span class="key">ALT</span> <span class="key">SysReq</span> <span class="key">D</span> を押して手動で入ることができます。<br />
KDL ではキーボードが動作しないかもしれません。 PS/2 キーボード、 UHCI コントローラーにつながれた USB キーボードは動作するでしょう。キーボードはショートカットでの起動で利用した一つに限られます。 USB OHCI は現時点ではサポートされていません。</p>
<p>KDL 自体はシェルの一種です。コマンドを実行することでシステムの情報を出力させることができます。次のコマンドが役に立つでしょう:</p>
<table summary="layout" border="0" cellpadding="2" cellspacing="0">
<tr><td><span class="cli">bt</span> (もしくは sc)</td><td> </td><td>バックトレースを出力する。システムの動作で KDL に入った場合、これを必ず実行します。</td></tr>
<tr><td><span class="cli">ints</span></td><td> </td><td>取り扱っている・取り扱っていないハードウェアの中断を表示します。</td></tr>
<tr><td class="onelinetop"><span class="cli">co</span> (もしくは continue)</td><td> </td><td>カーネルデバッガー を離れ、可能ならばシステムの実行に戻ります。</td></tr>
<tr><td><span class="cli">reboot</span></td><td> </td><td>システムをすぐに再起動します。まだ保存されていない全てのデータ、保存はしていてもまだディスクに書き込まれていないデータは失います。</td></tr>
</table>
<p>詳細は <a href="http://www.haiku-os.org/documents/dev/welcome_to_kernel_debugging_land">Kernel Debugging Land へようこそ</a> も参照してください。</p>
<p>KDL はシリアルポートと syslog にも出力します。 (もしあるならば。シリアルケーブルをもう一つのコンピュータに接続し、出力を受け取ることが出来ます。) もし KDL を終了することができない場合 syslog には出力されませんが、ブートローダーのデバッグ用オプションがそれを可能にするでしょう。 (下記も参照)</p>
<h3><a href="#"><img src="../images/up.png" style="border:none;float:right" alt="index" /></a>
<a id="syslog" name="syslog">Syslog</a></h3>
<p><b>これは起動しないシステムから情報を取得するためのものです。</b><br />
syslog (system log の略称) はシステムに発生した事象の情報、KDL の出力を含んでいます。それをカーネル関連の Trac にあるチケットに添付することは良いことです。 syslog は <span class="path">/boot/common/var/log/syslog</span> に記録されます。ファイルの書き込みには動作しているシステムが必要であり、直近の出力が書き込まれず、カーネルの問題が起きた瞬間を記録していないかもしれません。 (主に突然のリブートや続行不能な KDL のセッションにて)</p>
<p>ブートローダーの <span class="menu">Debug menu</span> にある <span class="menu">Enable debug syslog</span> オプションは syslog を記録するようにします。デフォルトでこのオプションは有効で、リブートがかかってもブートローダーメニューから直接アクセスできるようにするようにします。オペレーティングシステム (Haiku 含めあらゆるシステム) を起動すると syslog の情報を破棄されます。そのため、起動するときに <span class="key">SHIFT</span> を押したままにしてブートローダーメニューに入る必要があります。<br />
ブートローダーメニューにある <span class="menu">Debug menu</span> の中には <span class="menu">Display syslog from previous session</span><span class="menu">Save syslog from previous session</span> があります。前者は syslog をスクリーンに表示し、後者はディスクに保存します。現時点では FAT32 のフォーマットのみサポートされていることに注意してください。 USB メモリを使用する場合は、後から接続しても認識しないので1度再起動し、再度ブートローダーメニューに入る必要があります。ですが、そのときも: どんなオペレーションシステムも実行しないようにしてください。 syslog を失ってしまいます。</p>
<h3><a href="#"><img src="../images/up.png" style="border:none;float:right" alt="index" /></a>
<a id="onscreen" name="onscreen">スクリーン上でのデバッグ</a></h3>
<p><b>スクリーン上のデバッグ出力は特定の問題とすでに分かっている問題について役立つでしょう。必要でないなら使用しないでください。</b><br />
これは Haiku がうまく起動せず、なおかつ <span class="menu">Debug syslog option</span> もうまく動作しない時に使います。Haiku の起動ロゴが現れる前に、 <span class="key">SHIFT</span> を押したままにしてブートローダーメニューに入り、 <span class="menu">Select safe mode options</span> を選びます。下の方にある <span class="menu">[ ] Enable on screen debug output</span> を有効にします。 (ノート: 他のオプションも Haiku のブートを試みる時に有効になります。 Haiku がどのオプションでのみ起動するかを確認してください。)<br />
最後に、 <span class="menu">Return to main menu</span> を選択し <span class="menu">Continue booting</span> を選択します。<br />
1ページ以上のテキストがスクリーンに表示されます。最後の数行がチケットに添付する必要がある物でしょう。詳細は <a href="../../../userguide/jp/bootloader.html">ブートローダー</a>を参照の事。</p>
<h2><a href="#"><img src="../images/up.png" style="border:none;float:right" alt="index" /></a>
<a id="hardware" name="hardware">ハードウェアとドライバーのバグ</a></h2>
<p>もしハードウェアやドライバーのバグに関連したバグを扱うならば、以下の情報を添付する必要があります:</p>
<table summary="layout" border="0" cellpadding="2" cellspacing="0">
<tr><td>- <span class="cli">listdev</span></td><td> </td><td>詳細なハードウェアのリスト。ベンダーとPCIのid, linuxと同じような <span class="cli">lshw</span><span class="cli">lspci</span> を含む。</td></tr>
<tr><td>- <span class="cli">listusb -v</span></td><td> </td><td>USB関連のバグを取り扱うとき。Linux の <span class="cli">lsusb</span> に似ている。</td></tr>
<tr><td>- <span class="cli">open /var/log/syslog</span></td><td> </td><td>Haiku システムのメインログ。 ブート中のスクリーン上デバッグと似ている。 <span class="cli">open</span> を用いる事で必要な部分をテキストエディタを使い切り出すことが出来る。</td></tr>
<tr><td class="onelinetop">- <span class="cli">listimage | grep drivers/</span></td><td> </td><td>使用されているドライバのリストを出力する。</td></tr>
<tr><td>- <span class="cli">ints</span></td><td> </td><td><i>Kernel Debugging Land</i> (上記を参照)でのみ有効。 割り込みの使用状況を表示する。同じ割り込みが複数のデバイスで共有されるのは好ましくありません。</td></tr>
<tr><td colspan="3">- スクリーン上デバッグ (ブート時のセーフモードオプション)</td></tr>
</table>
<p>最初の4つのコマンドはターミナルに入力する。 <span class="cli"> &gt; output.txt</span> をコマンドの最後に追加することで、 "output.txt" というテキストファイルにターミナルの代わりに出力されるようになる。つまり、それをバグレポートやメールに添付することができるようになる。</p>
<h2><a href="#"><img src="../images/up.png" style="border:none;float:right" alt="index" /></a>
<a id="next" name="next">そして次は</a></h2>
<p>バグをレポートした後は、開発者があなたの報告を見て修正を試みるでしょう。しかし忘れないでいてもらいたいのは、私たちはボランティアであるので、しばらくの間報告が放置されることもあります。そして、情報を追加することで早くバグを修正することが可能になります。しかし、説明的でないコメントを追加するような事はしないでください。</p>
<p>バグのレポートはあなたの時間を無駄に消費するわけではありません。バグの報告をしたあなたは一つの Haiku の開発プロセスにあります。開発者はバグを修正するために質問をすることがあります。それを無視せず、質問には答えるようにしてください。あなたの参加は、バグが 'fixed' となるまで終わりません。</p>
</div>
</div>
<div class="nav">
<div class="inner"><span>
<a href="../welcome_jp.html" class="uplink">Welcome</a>
</span></div>
</div>
</body>
</html>