Netbeans OutOfMemoryError:Java堆空间,代码格式

时间:2011-01-25 23:19:02

标签: java php netbeans

当我在netbeans中格式化代码时,我最近开始收到“OutOfMemoryError:Java堆空间”错误。

我已经使用netbeans超过2年了,这刚开始发生在我开发的典型机器上。目前在XP机器上使用版本6.9,4Gb内存。我已经将-J-Xmx调整为1024m甚至尝试了2048m,但它仍然会出错。

这是一个小的PHP脚本,不到100行。我没有问题,在过去格式化10,000多行而不编辑-J-Xmx或其他任何东西。我没有运行任何代码或调试或单元测试或任何东西,只是内置的源 - >格式。

我尝试删除代码以查看是否存在导致问题的特定部分。从我可以收集到的,如果我添加一个控件结构,无论它包含什么,我都会收到内存错误。

偶:

if($i == 1) {}

导致内存错误。如果我检查内存使用情况,Netbeans可以用尽所有内存。任何有关这方面的帮助将不胜感激。

这是我收到错误时生成的堆栈跟踪:

java.lang.OutOfMemoryError: Java heap space
    at org.netbeans.modules.php.editor.indent.FormatVisitor.addFormatToken(FormatVisitor.java:1002)
    at org.netbeans.modules.php.editor.indent.FormatVisitor.visit(FormatVisitor.java:859)
    at org.netbeans.modules.php.editor.parser.astnodes.Program.accept(Program.java:92)
    at org.netbeans.modules.php.editor.indent.TokenFormatter$1.run(TokenFormatter.java:354)
    at org.netbeans.editor.GuardedDocument.runAtomic(GuardedDocument.java:314)
    at org.netbeans.modules.php.editor.indent.TokenFormatter.reformat(TokenFormatter.java:344)
    at org.netbeans.modules.php.editor.indent.PHPFormatter.reformat(PHPFormatter.java:129)
    at org.netbeans.modules.csl.core.GsfReformatTask$1.run(GsfReformatTask.java:105)
    at org.netbeans.modules.parsing.api.ParserManager$UserTaskAction.run(ParserManager.java:154)
    at org.netbeans.modules.parsing.api.ParserManager$UserTaskAction.run(ParserManager.java:138)
    at org.netbeans.modules.parsing.impl.TaskProcessor$1.call(TaskProcessor.java:200)
    at org.netbeans.modules.parsing.impl.TaskProcessor$1.call(TaskProcessor.java:197)
    at org.netbeans.modules.masterfs.filebasedfs.utils.FileChangedManager.priorityIO(FileChangedManager.java:160)
    at org.netbeans.modules.masterfs.providers.ProvidedExtensions.priorityIO(ProvidedExtensions.java:227)
    at org.netbeans.modules.parsing.impl.Utilities.runPriorityIO(Utilities.java:66)
    at org.netbeans.modules.parsing.impl.TaskProcessor.runUserTask(TaskProcessor.java:197)
    at org.netbeans.modules.parsing.api.ParserManager.parse(ParserManager.java:106)
    at org.netbeans.modules.csl.core.GsfReformatTask.reformat(GsfReformatTask.java:95)
    at org.netbeans.modules.editor.indent.TaskHandler$MimeItem.runTask(TaskHandler.java:550)
    at org.netbeans.modules.editor.indent.TaskHandler.runTasks(TaskHandler.java:317)
    at org.netbeans.modules.editor.indent.IndentImpl.reformat(IndentImpl.java:320)
    at org.netbeans.modules.editor.indent.FormatterImpl.reformat(FormatterImpl.java:190)
    at org.netbeans.editor.ActionFactory$FormatAction$1$1.run(ActionFactory.java:1683)
    at org.netbeans.editor.GuardedDocument.runAtomicAsUser(GuardedDocument.java:344)
    at org.netbeans.editor.ActionFactory$FormatAction$1.run(ActionFactory.java:1651)
    at org.netbeans.modules.progress.ui.RunOffEDTImpl$1.run(RunOffEDTImpl.java:160)
    at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1418)
    at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1957)

看起来这个问题有很多类似的报道: http://statistics.netbeans.org/analytics/exception.do?id=472651

安装7.0b并重新安装JRE 6 ......现在工作正常。使用7作为6.9在使用代码格式时不可用。仍然想知道如何解决这个问题。

1 个答案:

答案 0 :(得分:3)

我发现this NetBeans bug报告的问题与您的问题相似。事实证明问题与SVN有关,并通过清除SVN缓存目录来解决。阅读错误的“评论”了解详细信息。