如何让eclipse在堆栈上溢出?

时间:2011-02-21 09:00:16

标签: java eclipse stack-overflow

我得到一个堆栈跟踪,指示由非终止程序引起的堆栈溢出。但是,当发生这种情况时,我不知道如何让eclipse调试器中断。

我不想发布堆栈跟踪,但它始于:

JVM Error!
    at ___
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:113)
    at org.eclipse.jetty.server.Server.handle(Server.java:334)
    at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:559)
    at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:992)
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:550)
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:203)
    at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:406)
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:462)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436)
    at java.lang.Thread.run(Unknown Source)
Caused by:
null
    at ___

接下来是一个很长的重复函数调用序列。

感谢您的帮助

3 个答案:

答案 0 :(得分:4)

您可以让调试器在Exceptions上中断。在您的情况下,请尝试打破java.lang.StackOverflowError

检查一下: http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.jdt.doc.user/reference/views/breakpoints/ref-breakpoints_view.htm

答案 1 :(得分:0)

您可以将调试器设置为在编辑时中断 -

在Debug透视图中。

选择Add Exception Breakpoint命令以添加Java异常断点。

在结果对话框中:

  • 在“选择例外”字段中,键入要添加的例外名称中包含的字符串。您可以根据需要使用通配符(任何字符串都使用“*”,任何字符都可以使用“?”)。
  • 在“匹配类型”列表中,选择要添加的例外。 根据需要选择Caught和Uncaught,以指示要暂停程序的异常类型。

答案 2 :(得分:-3)

增加内存大小。运行程序时将其传递给VM Args。

Xms512m -Xmx512m -XX:PermSize = 256m -XX:MaxPermSize = 256m