web-dev-qa-db-fra.com

FindBugs ne montrant pas les bogues trouvés

J'ai déjà utilisé FindBugs et je n'ai eu aucun problème, mais cette fois sur Eclipse Helios sur Ubuntu Natty Narval, des bugs sont trouvés mais ne sont pas affichés.

Voici ce que j'ai essayé:

  • Clic droit sur le projet> Rechercher des bugs> Rechercher des bugs
  • En regardant les progrès, j'ai vu 3 bugs trouvés
  • Dans la vue Problèmes, ils ne sont pas répertoriés

J'ai essayé d'accéder à sa propre perspective avec: Ouvrir la perspective> Autre> FindBugs mais Bug Explorer est vide.

Des idées pour voir ces bugs?

MISE À JOUR: Dans le journal des erreurs Eclipse, je vois:

!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: Je ne sais pas comment réparer Eclipse, mais j'ai trouvé une solution de contournement. J'ai ajouté le rapport findbugs au pom.xml de maven

<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>

La configuration suivante génère un rapport HTML dans target/site/findbugs.html

30
stivlo

Si des bogues apparaissent dans certains projets mais pas dans d'autres, le problème peut être que les bogues d'un projet ne sont tout simplement pas assez graves pour apparaître.

J'ai eu le même problème (30 bogues apparaissant dans Open Analysis Results dans l'éditeur), mais aucun dans la vue Problèmes ou Find Bugs Explorer. Ce qui suit a fonctionné pour moi:

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

Cela peut être un problème de configuration de votre vue des problèmes. Effectuez les étapes suivantes pour vous assurer que les résultats de recherche de bogues sont affichés dans la vue des problèmes:

  1. Sélectionnez la vue des problèmes (aucun avertissement ou erreur de findbugs affiché)
  2. Sélectionnez dans le menu déroulant de la vue des problèmes (bouton Caret down) l'entrée de menu "Configurer le contenu ..."
  3. Sélectionnez dans la vue de gauche, par ex. "Erreurs/avertissements sur le projet"
  4. Assurez-vous que sur le côté droit, dans la liste Types, tous les types de Findbugs sont sélectionnés.
  5. Terminez la configuration de la vue.

Maintenant, la vue des problèmes devrait vous montrer les 3 conclusions d'avant.

Alternativement, vous pouvez utiliser la perspective Findbugs pour obtenir un aperçu plus approfondi des problèmes détectés.

J'ai trouvé une entrée supplémentaire sur la page du plugin Eclipse Findbugs: le plugin Eclipse se charge, mais ne fonctionne pas correctement . Vérifiez cela aussi.


Lorsque Findbugs essaie d'analyser vos classes (pas: le code source), les classes utilisées par votre code doivent être disponibles. Je ne sais pas pour quels modèles de bogues cela est nécessaire, mais pour certains (analyse de flux), les classes utilisées doivent être accessibles. Assurez-vous donc que les classes utilisées (directement ou indirectement) sont visibles dans le chemin de chargement d'Eclipse.

4
mliebelt

Je viens de tomber sur un problème similaire lors de l'utilisation de maven, Eclipse et du plugin de qualité m2e-code ( https://github.com/m2e-code-quality/m2e-code-quality ). La solution consistait à répertorier tous les visiteurs devant être exécutés dans une balise visiteurs dans la configuration du plugin findbugs-maven. Vous pouvez également définir maxRank sur 20. Lorsque vous omettez aux visiteurs d'exécuter le plug-in de qualité m2e-code, une configuration de plug-in findbugs générée n'exécutera AUCUN visiteur. Le pire est que les paramètres de findbug dans les propriétés du projet afficheront certains visiteurs activés, mais ceux-ci ne proviennent pas de la configuration du projet.

1
i84c0re