首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在eclipse上显示全栈跟踪?

如何在eclipse上显示全栈跟踪?
EN

Stack Overflow用户
提问于 2011-09-29 21:09:07
回答 8查看 61.6K关注 0票数 46

我正在使用Eclipse调试一个Java应用程序。在代码中的某个地方,我得到了一个异常和堆栈跟踪:

代码语言:javascript
复制
Caused by: java.io.EOFException: The connection has been reset while reading the header
    at com.gemstone.gemfire.internal.cache.tier.sockets.Message.fetchHeader(Message.java:583)
    at com.gemstone.gemfire.internal.cache.tier.sockets.Message.readHeaderAndPayload(Message.java:599)
    at com.gemstone.gemfire.internal.cache.tier.sockets.Message.read(Message.java:542)
    at com.gemstone.gemfire.internal.cache.tier.sockets.Message.recv(Message.java:1029)
    at com.gemstone.gemfire.cache.client.internal.AbstractOp.attemptReadResponse(AbstractOp.java:158)
    at com.gemstone.gemfire.cache.client.internal.AbstractOp.attempt(AbstractOp.java:363)
    at com.gemstone.gemfire.cache.client.internal.ConnectionImpl.execute(ConnectionImpl.java:229)
    at com.gemstone.gemfire.cache.client.internal.pooling.PooledConnection.execute(PooledConnection.java:321)
    at com.gemstone.gemfire.cache.client.internal.OpExecutorImpl.executeWithPossibleReAuthentication(OpExecutorImpl.java:646)
    at com.gemstone.gemfire.cache.client.internal.OpExecutorImpl.execute(OpExecutorImpl.java:108)
    ... 11 more

如何获得整个堆栈而不是... 11 more

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-09-29 21:12:03

您拥有整个堆栈。

这只是堆栈跟踪的一部分。就在这之前是另一件事。看看这一行的底线,上一行的顶行。你会看到它们是匹配的。堆栈跟踪以一个不以"Caused by“开头的部分开始。

“起因于”异常隐藏了堆栈跟踪的某些部分,这些部分是堆栈跟踪项在其父级中的逐字副本。换句话说,Java并不是针对每个原因都显示main()的整个堆栈-它只是显示了您还没有看到的内容。请参阅Throwable.printStackTrace() documentation

当您在创建Throwable时提供原因时,将填充"Caused by“。看看它的构造函数。当一段代码捕获到一个低级异常,然后想要将其作为不同的异常类重新抛出时,就会执行此操作。

票数 33
EN

Stack Overflow用户

发布于 2012-07-30 02:31:35

上面的答案是不准确的,每次堆栈显示“由”字样,这意味着异常通过一个或多个方法,直到它被捕获,然后再次抛出。这可能会发生很多次,堆栈跟踪不是循环,它是单向的,所以不,顶部的东西与底部的东西没有关系,最重要的部分在底部,这是异常的根源,所以如果你有:

类main中出现异常: blah ...lines of code...由FileNotFoundException ...lines of code引起...原因: MalformedURLException ...lines of code...原因: NullPointerException

这样,您就不会太关注FileNotFoundException,而会更关注NullPointerException。比如你有一个属性文件,里面有一个文件名。如果意外地使用mykey来查找属性"myKey",那么propertiesResource将返回一个null,然后它将一直抛出(希望如此)到您的应用程序的最后一个catch块所在的地方。。。在这一点上,它不会被“包装”为nullException,而是被“包装”为FileNotFoundException。。。

票数 9
EN

Stack Overflow用户

发布于 2015-09-03 02:59:11

我们可能偏离了他面临的实际问题。我也遇到了类似的问题,结果是我的限制控制台被选中了。在我删除它之后,我能够看到完整的堆栈跟踪。步骤:右键单击控制台|| ctrl +单击,如果mac进入首选项,请按照上述说明进行操作

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7597797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档