Categories
|
opensource software
FindBugs-IDEAProducts: IntelliJ IDEA Vendor: Andre Pfeiler Email: Website: http://findbugs-idea.googlecode.com SourceCode: http://findbugs-idea.googlecode.com License: http://findbugs-idea.googlecode.com Description:
The FindBugs plugin for IntelliJIDEA
Provides static byte code analysis to look for bugs in Java code from within IntelliJ IDEA. FindBugs is a defect detection tool for Java that uses static analysis to look for more than 200 bug patterns, such as null pointer dereferences, infinite recursive loops, bad uses of the Java libraries and deadlocks. FindBugs can identify hundreds of serious defects in large applications (typically about 1 defect per 1000-2000 lines of non-commenting source statements). The name FindBugs™ and the FindBugs logo are trademarked by The University of Maryland. As of July, 2008, FindBugs has been downloaded more than 700,000 times. FindBugs requires JRE (or JDK) 1.5.0 or later to run. However, it can analyze programs compiled for any version of Java and is used by many major companies and financial institutions. FindBugs-IDEA uses FindBugs™ under the hood. for more information see http://findbugs.sourceforge.net/. ..."We use IDEA inspections and FindBugs complementary. FindBugs is running in our continuous integration process and IDEA inspections are used during coding." What about using both during coding from within IntelliJIDEA?
FindBugs-IDEA plugin features:
Full documentation URL:
https://code.google.com/p/findbugs-idea/downloads/list
14 updates are hidden
show all updates
Recent change notes:findbugs-2 support Quickfix: annotate, suppress findbugs patterns (GutterIcon and document markup (alt+enter)) idea 9 until 12 compatibilityGeneral usage instructions:BUG TRACKER: http://code.google.com/p/findbugs-idea/issues/list@see article at dzone: http://jetbrains.dzone.com/tips/intellij-idea-finds-bugs source and builds with findbugs-2.0 support: http://findbugs-idea.googlecode.com |
|||||||||||||||||||||||||||||||||||
Comments:
When will the 0.9.97 version be released to the jetbrains repo?
Also, there are a lot of dead links (e.g., http://findbugs-idea.dev.java.net/).
java.lang.IllegalArgumentException: Argument 0 for @NotNull parameter of com/intellij/psi/search/GlobalSearchScope.allScope must not be null
^^^^ fixed in the upcoming release 0.9.97
--
* fixed IdeaUtilImpl#getProject sometimes returns null
Error during dispatching of java.awt.event.InvocationEvent[INVOCATION_DEFAULT,runnable=org.twodividedbyzero.idea.findbugs.common.ui.EventDispatchThreadHelper$1@623423,notifier=null,catchExceptions=false,when=1295611690727] on sun.awt.windows.WToolkit@7177a6: Argument 0 for @NotNull parameter of com/intellij/psi/search/GlobalSearchScope.allScope must not be null
java.lang.IllegalArgumentException: Argument 0 for @NotNull parameter of com/intellij/psi/search/GlobalSearchScope.allScope must not be null
at com.intellij.psi.search.GlobalSearchScope.allScope(GlobalSearchScope.java)
at org.twodividedbyzero.idea.findbugs.common.util.IdeaUtilImpl.findJavaPsiClass(IdeaUtilImpl.java:757)
at org.twodividedbyzero.idea.findbugs.common.util.BugInstanceUtil$1.run(BugInstanceUtil.java:176)
at org.twodividedbyzero.idea.findbugs.common.ui.EventDispatchThreadHelper.invokeLater(EventDispatchThreadHelper.java:128)
at org.twodividedbyzero.idea.findbugs.common.util.BugInstanceUtil.getPsiElement(BugInstanceUtil.java:173)
at org.twodividedbyzero.idea.findbugs.gui.tree.model.BugInstanceNode.getPsiFile(BugInstanceNode.java:151)
at org.twodividedbyzero.idea.findbugs.gui.tree.model.GroupTreeModel.addProblem(GroupTreeModel.java:108)
at org.twodividedbyzero.idea.findbugs.gui.tree.model.GroupTreeModel.addToGroup(GroupTreeModel.java:225)
at org.twodividedbyzero.idea.findbugs.gui.tree.model.GroupTreeModel.addToGroup(GroupTreeModel.java:49)
at org.twodividedbyzero.idea.findbugs.gui.tree.model.Grouper.group(Grouper.java:208)
at org.twodividedbyzero.idea.findbugs.gui.tree.model.GroupTreeModel.group(GroupTreeModel.java:161)
at org.twodividedbyzero.idea.findbugs.gui.tree.model.GroupTreeModel.addNode(GroupTreeModel.java:152)
at org.twodividedbyzero.idea.findbugs.gui.toolwindow.view.BugTreePanel.addNode(BugTreePanel.java:128)
at org.twodividedbyzero.idea.findbugs.gui.toolwindow.view.ToolWindowPanel$4.run(ToolWindowPanel.java:279)
at org.twodividedbyzero.idea.findbugs.common.ui.EventDispatchThreadHelper$1.run(EventDispatchThreadHelper.java:115)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at com.intellij.ide.IdeEventQueue.e(IdeEventQueue.java:652)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:505)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:404)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:368)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178)
at java.awt.Dialog$1.run(Dialog.java:1046)
at java.awt.Dialog$3.run(Dialog.java:1098)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Dialog.show(Dialog.java:1096)
at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:670)
at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:412)
at com.intellij.openapi.ui.DialogWrapper.showAndGetOk(DialogWrapper.java:1063)
at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:1048)
at com.intellij.openapi.vcs.changes.ui.CommitChangeListDialog.a(CommitChangeListDialog.java:132)
at com.intellij.openapi.vcs.changes.ui.CommitChangeListDialog.commitChanges(CommitChangeListDialog.java:176)
at com.intellij.openapi.vcs.changes.ui.CommitChangeListDialog.commitChanges(CommitChangeListDialog.java:150)
at com.intellij.openapi.vcs.changes.ui.CommitChangeListDialog.commitPaths(CommitChangeListDialog.java:144)
at com.intellij.openapi.vcs.actions.AbstractCommonCheckinAction$1.run(AbstractCommonCheckinAction.java:65)
at com.intellij.openapi.vcs.changes.Waiter.onSuccess(Waiter.java:79)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.a(ProgressManagerImpl.java:280)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.run(ProgressManagerImpl.java:439)
at com.intellij.openapi.vcs.changes.CallbackData$3.run(CallbackData.java:78)
at com.intellij.openapi.vcs.changes.UpdateRequestsQueue.invokeAfterUpdate(UpdateRequestsQueue.java:153)
at com.intellij.openapi.vcs.changes.ChangeListManagerImpl.invokeAfterUpdate(ChangeListManagerImpl.java:258)
at com.intellij.openapi.vcs.actions.AbstractCommonCheckinAction.actionPerformed(AbstractCommonCheckinAction.java:53)
at com.intellij.openapi.vcs.actions.AbstractVcsAction.actionPerformed(AbstractVcsAction.java:61)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher$3.performAction(IdeKeyEventDispatcher.java:524)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processAction(IdeKeyEventDispatcher.java:564)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.d(IdeKeyEventDispatcher.java:444)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.dispatchKeyEvent(IdeKeyEventDispatcher.java:197)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:491)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:404)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:368)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: org.twodividedbyzero.idea.findbugs.common.CallerStack: called from
at org.twodividedbyzero.idea.findbugs.common.ui.EventDispatchThreadHelper.invokeLater(EventDispatchThreadHelper.java:111)
at org.twodividedbyzero.idea.findbugs.gui.toolwindow.view.ToolWindowPanel.onEvent(ToolWindowPanel.java:277)
at org.twodividedbyzero.idea.findbugs.gui.toolwindow.view.ToolWindowPanel.onEvent(ToolWindowPanel.java:68)
at org.twodividedbyzero.idea.findbugs.common.event.EventManagerImpl.fireEvent(EventManagerImpl.java:88)
at org.twodividedbyzero.idea.findbugs.report.BugReporter.doReportBug(BugReporter.java:123)
at edu.umd.cs.findbugs.AbstractBugReporter.reportBug(AbstractBugReporter.java:163)
at edu.umd.cs.findbugs.FilterBugReporter.reportBug(FilterBugReporter.java:42)
at edu.umd.cs.findbugs.DelegatingBugReporter.reportBug(DelegatingBugReporter.java:78)
at edu.umd.cs.findbugs.BugAccumulator.accumulateBug(BugAccumulator.java:67)
at edu.umd.cs.findbugs.BugAccumulator.accumulateBug(BugAccumulator.java:80)
at edu.umd.cs.findbugs.detect.FindReturnRef.sawOpcode(FindReturnRef.java:154)
at edu.umd.cs.findbugs.visitclass.DismantleBytecode.visit(DismantleBytecode.java:758)
at edu.umd.cs.findbugs.detect.FindReturnRef.visit(FindReturnRef.java:85)
at edu.umd.cs.findbugs.visitclass.BetterVisitor.visitCode(BetterVisitor.java:217)
at edu.umd.cs.findbugs.visitclass.PreorderVisitor.visitCode(PreorderVisitor.java:166)
at edu.umd.cs.findbugs.bcel.OpcodeStackDetector.visitCode(OpcodeStackDetector.java:42)
at org.apache.bcel.classfile.Code.accept(Code.java:141)
at edu.umd.cs.findbugs.visitclass.PreorderVisitor.doVisitMethod(PreorderVisitor.java:226)
at edu.umd.cs.findbugs.visitclass.PreorderVisitor.visitJavaClass(PreorderVisitor.java:271)
at org.apache.bcel.classfile.JavaClass.accept(JavaClass.java:276)
at edu.umd.cs.findbugs.BytecodeScanningDetector.visitClassContext(BytecodeScanningDetector.java:36)
at edu.umd.cs.findbugs.DetectorToDetector2Adapter.visitClass(DetectorToDetector2Adapter.java:68)
at edu.umd.cs.findbugs.FindBugs2.analyzeApplication(FindBugs2.java:979)
at edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:230)
at org.twodividedbyzero.idea.findbugs.tasks.FindBugsTask.runFindBugs(FindBugsTask.java:102)
at org.twodividedbyzero.idea.findbugs.tasks.FindBugsTask.run(FindBugsTask.java:91)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$TaskRunnable.run(ProgressManagerImpl.java:474)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:205)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:233)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:196)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$6.run(ProgressManagerImpl.java:353)
at com.intellij.openapi.application.impl.ApplicationImpl$6.run(ApplicationImpl.java:382)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:130)
^^^ this is not true, for me it works, great. please, try open the toolwindow and run the anaylzis again. ...please use the bug tracker to file a bug.
Create simple project, put a class. Following happens:
Error during dispatching of java.awt.event.InvocationEvent[INVOCATION_DEFAULT,runnable=org.twodividedbyzero.idea.findbugs.common.ui.EventDispatchThreadHelper$1@a75b6f,notifier=null,catchExceptions=false,when=1291840602302] on apple.awt.CToolkit@e0cdc9
java.lang.NullPointerException
at com.intellij.openapi.wm.ToolWindowManager.getInstance(ToolWindowManager.java:30)
at org.twodividedbyzero.idea.findbugs.gui.common.BalloonTipFactory.showToolWindowInfoNotifier(BalloonTipFactory.java:78)
at org.twodividedbyzero.idea.findbugs.gui.common.BalloonTipFactory.showToolWindowInfoNotifier(BalloonTipFactory.java:73)
at org.twodividedbyzero.idea.findbugs.gui.toolwindow.view.ToolWindowPanel$3.run(ToolWindowPanel.java:271)
at org.twodividedbyzero.idea.findbugs.common.ui.EventDispatchThreadHelper$1.run(EventDispatchThreadHelper.java:115)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:633)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:627)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:508)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:405)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:369)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: org.twodividedbyzero.idea.findbugs.common.CallerStack: called from
at org.twodividedbyzero.idea.findbugs.common.ui.EventDispatchThreadHelper.invokeLater(EventDispatchThreadHelper.java:111)
at org.twodividedbyzero.idea.findbugs.gui.toolwindow.view.ToolWindowPanel.onEvent(ToolWindowPanel.java:267)
at org.twodividedbyzero.idea.findbugs.gui.toolwindow.view.ToolWindowPanel.onEvent(ToolWindowPanel.java:68)
at org.twodividedbyzero.idea.findbugs.common.event.EventManagerImpl.fireEvent(EventManagerImpl.java:88)
at org.twodividedbyzero.idea.findbugs.report.BugReporter.finish(BugReporter.java:203)
at edu.umd.cs.findbugs.DelegatingBugReporter.finish(DelegatingBugReporter.java:97)
at edu.umd.cs.findbugs.DelegatingBugReporter.finish(DelegatingBugReporter.java:97)
at edu.umd.cs.findbugs.FindBugs2.analyzeApplication(FindBugs2.java:1007)
at edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:230)
at org.twodividedbyzero.idea.findbugs.tasks.FindBugsTask.runFindBugs(FindBugsTask.java:102)
at org.twodividedbyzero.idea.findbugs.tasks.FindBugsTask.run(FindBugsTask.java:91)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$TaskRunnable.run(ProgressManagerImpl.java:428)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:198)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:223)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:189)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$6.run(ProgressManagerImpl.java:343)
at com.intellij.openapi.application.impl.ApplicationImpl$5.run(ApplicationImpl.java:331)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:125)