Вопрос
Почему VisualVM завершает мою программу при попытке просмотреть трассировку стека распределения объектов и как это исправить?
Я очищаю приложение, у которого есть несколько проблем с памятью, самая большая из которых - создание кучи недолговечных int[]
, из-за которых сборщик мусора срабатывает как сумасшедший:
Когда я щелкаю правой кнопкой мыши int[]
и выбираю Сделать снимок и показать трассировки стека распределения, мое приложение закрывается и появляется окно с предупреждением: Не удалось получить снимок результатов. Приложение закрыто:
Самым близким, что я нашел по этому вопросу, был отчет об ошибке, в котором рекомендовалось запустить мое профилированное приложение. с -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
Журнал сбоев
Размер журнала сбоев превысил ограничение на количество символов, поэтому мне пришлось разместить его в другом месте. Извините.
-XX:ErrorFile=/var/log/java/hs_err_pid%p.log
. Просто убедитесь, что вы добавили это в приложение, а не в Eclipse. - person Gergely Bacso   schedule 11.12.2015