Skip to content

バグ報告する際に欲しい情報(暫定版)

Shougo edited this page Sep 2, 2011 · 6 revisions

バグを報告してもらえる場合、次の情報があると良いです。ちなみに、neocomplcacheを対象にしていますが、他のプラグインでも同じです。 基本的に、バグは再現できなければ修正できません。つまり、こちらの環境でバグを再現するための情報が必要と言うことになります。 再現が難しい、リソースリークなどのバグは修正が難しいです。対応不能になることもあります。こちらでエラーが再現できない場合も、詳しい状況やエラーメッセージが分かれば、簡単に対処できることがあります。よって、報告者から詳しい情報を得ることが重要になるのです。

  • 最新版でも同じ現象が出るかどうか

neocomplcacheなどは開発が早いため、バグが見つかった場合即座に対応されます。動作が怪しい場合、まず更新してください。 その場合、依存するプラグインも最新版に更新することが重要です。大抵、最新版での動作しか確認していないからです。

  • 以前のneocomplcacheでは動作していたかどうか

できれば、git-bisectなどを利用し、おかしくなったコミット番号まで調べてください

  • 特定のファイルタイプでおかしい場合、バグが再現する最小のソースファイル

例えば、「補完文脈を読まない」ではよく分からないし、テストもできません

  • 使用しているneocomplcacheの設定

これはできれば、あると便利という程度。ただし、特殊な設定をしている場合は明記してほしいところです。

  • 不具合はVimの設定に依存していないかどうか

できれば、vim -u NONE -U NONEあたりで起動して、動作が異なるかどうかのチェック。 neocomplcacheの設定部分だけ無効化してもよいです。

  • Vimのバージョン、使用しているVimの種類、OS等

できれば、複数の環境で試してもらえると、環境依存の問題を切り分けることができます。 ちなみに、Vim 7.3を推奨します。Vim 7.0ではバグなどにより、謎のエラーが出るかもしれません。最悪でもVim 7.2にしてください。

  • プラグインの処理でエラーが出ている場合、そのエラーを全て教えてください。スクリーンショットでも良いです。

ちなみに、エラーメッセージを表示するには:messageコマンドを実行します。unite.vimを使うと、:Unite output:messageが使えます。 unite.vimの場合、候補を選択して<CR>すると該当する部分がバッファに貼り付けられるのでかなり便利です。

  • ダメなバグ報告例

「neocomplcacheが不安定」

不安定は何も言っていないことに等しいです。プラグインのバグについては、真面目に原因を調べて議論しましょう。

「neocomplcacheが動かない」

動かないだけでは、よく分かりません。おそらく、「もっと詳しい状況を教えてください」と返信が返ってくることになります。

「neocomplcacheが重い」

重い、というのも何も言っていないことに等しいです。同じ「重い」であっても、ポップアップが出る前に重いのか、ポップアップが出てから重いのか、 何か作業をするときに重いのか、によって原因が全て異なります。さらに、neocomplcacheが原因であることを明らかにするため、neocomplcacheが動作しない状態では「重い」という現象が発生しないのかどうかをチェックしてください。vimprocを使用して非同期にキャッシュ処理をしているかどうかも極めて重要なポイントになります。