如何调试JAVA堆中的内存不足错误

时间:2015-02-26 10:20:00

标签: java runtime-error heap-memory

我无法调试问题,它可能发生的可能性有多大。 有谁能告诉我?

3 个答案:

答案 0 :(得分:1)

有一些工具可用于内存分析。

1) Eclipse Memory Analyzer (MAT)

2Java VisualVM

查看通过工具生成的报告,并在内存分析报告中修复问题。

您可以使用其中任何一个生成报告

答案 1 :(得分:0)

简单的方法 - 您可以使用JDK的jvisualvm。在左侧选择您的应用程序,然后在Monitoring选项卡上执行堆转储,然后您可以发现内存泄漏。您还可以在jvisualvm中运行内存分析器。

答案 2 :(得分:0)

使用命令行'breakpoints'。 在几行中添加类似

的内容

System.out.println("Made it thus far!");

或在包含大量循环的代码中,您可以使用它来确保您不会迭代太多次:

System.out.println("Made it thus far! i = " + i1); 其中i1是一个额外的循环计数器。

然后向下和向下移动,直到您收到错误而非打印错误。这有助于确定发生错误的行。

如果可以,请记得发布您的代码,因为这样可以使工作变得更轻松,您可以在一分钟内解决问题。