当前位置:  开发笔记 > 编程语言 > 正文

显示分配堆栈跟踪时防止程序崩溃

如何解决《显示分配堆栈跟踪时防止程序崩溃》经验,为你挑选了1个好方法。

为什么VisualVM在尝试查看对象分配堆栈跟踪时终止我的程序,我该如何解决?


我正在清理一个有一些内存问题的应用程序,最大的是创建一堆短命的int[]导致GC像疯了似的一样:

在此输入图像描述

当我右键单击int[]并选择Take Snapshot and Show Allocation Stack Traces时,我的应用程序将关闭,并弹出一个警告框,说明无法获取结果快照.申请终止:

在此输入图像描述

我在这个主题上发现的最接近的是一个错误报告,建议运行我的profiled应用程序-Xnoclassgc.它不起作用,结果是一样的.


眼镜

VisualVM: 1.8.0_60 (Build 1380-140910); platform 20140910-unknown-revn
Java: 1.8.0_60; Java HotSpot(TM) 64-Bit Server VM (25.60-b23, mixed mode)
Eclipse: Luna Release (4.4.0) Build id: 20140612-0600
System: Windows 7 (6.1) Service Pack 1, amd64 64bit

崩溃日志

http://pastebin.com/a4YPWutj

崩溃日志的大小超出了字符数限制,因此我不得不将其放在其他位置.抱歉.



1> Gergely Bacs..:

好.因此,基于获得的crashlog,您看起来遇到了已在此处报告VisualVM错误:

JVM被分析崩溃

原始bug的提交者将此行为缩小到Java8,因此您最好的机会是在较旧的(Java7)运行时上运行VisualVM.如果这是您的选项,那么您只需要下载Java7 JDK并直接从那里运行VisualVM.

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有