web-dev-qa-db-ja.com

見つかったバグがFindBugsに表示されない

以前にFindBugsを使用したことがあり、問題はありませんでしたが、今回はUbuntuのEclipse HeliosでNatty Narvalのバグが見つかりましたが、表示されていません。

これが私が試したものです:

  • プロジェクトを右クリック>バグを検索>バグを検索
  • 進行状況を確認すると、3つのバグが見つかりました。
  • 問題ビューでは、それらはリストされていません

パースペクティブを開く>その他> FindBugsで独自のパースペクティブに移動しようとしましたが、Bug Explorerが空です。

それらのバグを表示するためのアイデアはありますか?

PDATE: Eclipseエラーログに次のように表示されます。

!ENTRY edu.umd.cs.findbugs.plugin.Eclipse 2 2 2011-06-18 21:13:24.968
!MESSAGE The following classes needed for FindBugs analysis on project **
     were missing:
!SUBENTRY 1 edu.umd.cs.findbugs.plugin.Eclipse 2 0 2011-06-18 21:13:24.969
!MESSAGE org.Apache.commons.exec.CommandLine
!SUBENTRY 1 edu.umd.cs.findbugs.plugin.Eclipse 2 0 2011-06-18 21:13:24.969
!MESSAGE org.Apache.commons.exec.DefaultExecutor
!SUBENTRY 1 edu.umd.cs.findbugs.plugin.Eclipse 2 0 2011-06-18 21:13:24.969
!MESSAGE org.Apache.commons.exec.ExecuteException

PDATE 2: Eclipseの修正方法がわかりませんが、回避策を見つけました。 findbugsレポートをmavenのpom.xmlに追加しました

<reporting>
    <plugins>
        [...]
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>findbugs-maven-plugin</artifactId>
            <version>2.3.3-SNAPSHOT</version>
            <configuration>
                <xmlOutput>true</xmlOutput>
                <!-- Optional derectory to put findbugs xdoc xml report -->
                <xmlOutputDirectory>target/site</xmlOutputDirectory>
            </configuration>
        </plugin>
    </plugins>
</reporting>

次の設定は、target/site/findbugs.htmlにHTMLレポートを生成します

30
stivlo

一部のプロジェクトではバグが表示され、他のプロジェクトでは表示されない場合、問題は、1つのプロジェクトのバグが表示されるほど深刻ではない可能性があります。

私は同じ問題(30のバグがエディターのオープン分析結果に表示される)がありましたが、問題ビューまたはバグエクスプローラーの検索にはありませんでした。以下は私のために働きました:

1. Project -> Properties -> Find Bugs
2. Enable Project Specific Settings
3. Check everything under Report Visible Bug Categories
4. Slide minium rank to report to 20
5. Set minimum confidence to Low
6. Rerun FindBugs
58
Ray Toal

これは、問題ビューの構成の問題である可能性があります。次の手順を実行して、findbugsの結果が問題ビューに表示されるようにします。

  1. 問題ビューを選択します(findbugs警告やエラーは表示されません)
  2. 問題ビューのドロップダウンメニュー(キャレットダウンボタン)からメニュー項目「コンテンツの構成...」を選択します。
  3. 左側のビューで選択します。 「プロジェクトのエラー/警告」
  4. 右側の「タイプ」リストで、すべてのFindbugsタイプが選択されていることを確認します。
  5. ビューの構成を完了します。

これで、問題ビューに以前の3つの結果が表示されます。

あるいは、Findbugsパースペクティブを使用して、見つかった問題についてより深い洞察を得ることができます。

Findbugs Eclipseプラグインページに追加のエントリが見つかりました: Eclipseプラグインはロードされますが、正しく機能しません 。それも確認してください。


Findbugsが(ソースコードではなく)クラスを分析しようとするとき、コードで使用されるクラスが利用可能である必要があります。これが必要なバグパターンはわかりませんが、一部の(フロー分析)には、使用されるクラスにアクセスできる必要があります。したがって、使用するクラスが(直接的または間接的に)Eclipseのロードパスに表示されることを確認してください。

4
mliebelt

私は、maven、Eclipse、およびm2e-code-qualityプラグイン( https://github.com/m2e-code-quality/m2e-code-quality )を使用しているときに、同様の問題を抱えています。解決策は、findbugs-maven-pluginの構成のVisitorsタグで実行されるすべての訪問者をリストすることでした。また、maxRankを20に設定することもできます。訪問者を省略してm2e-code-qualityプラグインを実行すると、訪問者をまったく実行しないfindbugsプラグイン設定が生成されます。最悪なのは、プロジェクトプロパティのfindbug設定に有効な訪問者が表示されることですが、これらはプロジェクト構成からのものではありません。

1
i84c0re