Eclipse中exception的断点 – 如何检查Exception对象?
我觉得我在这里错过了很简单的东西。 我设置了Eclipse来打破所有exception。 所以,假设它在AssertationFailedException上中断。 Debug窗口将显示该线程已挂起并具有以下数据:
Thread [Thread-1](Suspended(exceptionAssertionFailedException))ContactManager.addContact(String)行:93 ContactManager $ ContactDataCallback.dispatch(String,Element,ClientConnector)行:118 PacketHandler.handle(FractusPacket)行:173 ServerConnection.syncProcess( FractusMessage)行:122 ServerConnection.run()行:248 Thread.run()行:636
但是,我正在寻找的文本,例如:“Getter在可观察的org.eclipse.core.databinding.observable.set.WritableSet@4b7361e2外部调用”,直到我逐步执行exception(因此传播)才可用它一直向上堆栈)它输出exception的类型,文本(这是我想要的部分)和堆栈跟踪。
如何检查“AssertationFailedException”(或任何其他exception)以获取构造exception的消息? 当然我在Debug透视图中。
Eclipse Preferences中有一个选项,允许检查抛出的exception:
Java -> Debug -> Open popup when suspended on exception
检查Java -> Debug -> Open popup when suspended on exception
使用此选项,将有一个允许检查exception的弹出窗口。
奇怪的是,默认情况下不会选中此选项,因为它非常有用!
在调试视图中,单击产生exception的线程。
据我所知,这似乎不太可能,这有点难过。 对于它的价值,我使用的其他IDE(IntelliJ IDEA,Oracle JDeveloper)似乎在这方面做得更好。
例如,IntelliJ IDEA在exception断点上有一个选项,可以在命中exception断点时将表达式记录到控制台。 在该表达式中,“this”是抛出的exception,因此您只需记录“this”,就可以获得如下内容:
Exception 'java.lang.IllegalStateException' occurred in thread 'main' at Silly.doThing(Silly.java:18) java.lang.IllegalStateException: dead jim
似乎支持这将是对JDT的一个很好的增强…我找不到任何与他们的bug数据库相关的东西: https : //bugs.eclipse.org/bugs/buglist.cgi?quicksearch = exception +断点
您可以在breakpoints选项卡的debug透视图中看到exception的类型。 我附上了截图供您参考。 在那里我有NullPointerException,它已在断点选项卡中显示。
- VariableDeclarationFragment节点resolveBindind()在eclipse / jdt / ast中返回null
- ClassLoaders.callStaticFunction Java Eclipse的InvocationTargetException
- Eclipse for Java中“不可避免的generics类型问题”是什么?
- 如何在Eclipse中运行具有main()的单个Java文件,而无需创建整个Java项目?
- Eclipse Java错误:无法启动此选择,并且最近没有启动
- 无法解决Eclipse“归档所需库…”问题
- 在Eclipse中调试我的Java代码时,我得到“Source not found”
- 在Eclipse中逐步调试java程序
- 更改JFrame标题