Возможно ли создать дамп Java при возникновении специального исключения? Поскольку мне нужно проверить память дампа, когда происходит исключение, например, когда возникает ошибка nullpointer, она может автоматически генерировать дамп. Мы знаем, что платформа .net имеет такой инструмент procdump https://technet.microsoft.com/en-us/sysinternals/dd996900.aspx, я понятия не имею, есть ли у Java аналогичный способ?Возможно ли создать дамп Java при возникновении специального исключения?
ответ
Вы можете обрабатывать необходимое исключение и поставить ниже код внутри улова захватить кучу-дампа в любой момент, когда вы хотите
ObjectName memoryMXBean = new ObjectName("com.sun.management:type=HotSpotDiagnostic");
Object[] params = new Object[] { "myHeapDump.hprof", Boolean.TRUE };
String[] signature = new String[] { String.class.getName(), boolean.class.getName() };
Object result = connection.invoke(memoryMXBean, "dumpHeap", params, signature);
Ему нужно будет написать код во всех местах, исключение может произойти, а также изменить код, однако мне нужно получить дамп без перезаписи кода, такого как procdump. –
@Hermas Вы можете пройти через http://stackoverflow.com/a/23640439/4090550 Я не нашел времени, чтобы проверить то же самое, но вы можете попробовать –
- 1. Присвоение значения при возникновении исключения (Java)
- 2. Продолжить обработку при возникновении исключения
- 3. Что регистрируется при возникновении исключения
- 4. Что регистрировать при возникновении исключения?
- 5. Запуск формы при возникновении исключения
- 6. Ошибка при возникновении ошибки/исключения?
- 7. Как создать minidump .NET-процесса при возникновении определенного первого исключения исключения
- 8. Поведение подготовленной выписки Пакет при возникновении исключения
- 9. Продолжающиеся вставки в Oracle при возникновении исключения
- 10. Apache Camel - Задержка при возникновении исключения
- 11. как перезагрузить загрузку файла при возникновении исключения
- 12. Имя файла & Линия нет при возникновении исключения
- 13. Форма отмены изменяется при возникновении исключения
- 14. Ошибка выполнения PL/SQL при возникновении исключения
- 15. Как использовать atexit при возникновении исключения
- 16. Как разбить цепочку задач при возникновении исключения?
- 17. Показать форму при возникновении исключения C#
- 18. Предотвращение передачи конфиденциальных данных при возникновении исключения
- 19. JBehave не работает при возникновении исключения
- 20. Откат рейка db: seed при возникновении исключения
- 21. Есть ли способ заставить транзакционный откат при возникновении исключения?
- 22. Есть ли какие-либо события, которые срабатывают при возникновении исключения?
- 23. Завершает ли DataAdapter.Fill() его соединение при возникновении исключения?
- 24. Как создать дамп памяти Java через API?
- 25. Возврат специального исключения
- 26. Получение назначенных переменных при возникновении исключения, обработка пифации python
- 27. Будущая задача Асинхронные вызовы, зависающие при возникновении исключения
- 28. Извлечение параметров запроса WCF из Silverlight при возникновении исключения Timeout
- 29. Добавить значение в список выпадающих списков при возникновении исключения
- 30. Получить определенный набор строк при возникновении исключения с помощью Logstash
Попробуйте проверить это: http://five.agency/java-heap-dump/ и http://docs.oracle.com/javase/7/docs/technotes/tools/share/jhat.html – user1097772
Я бы использовал отладчик и точку останова при вызове этого исключения. –
@ user1097772, это просто дело с исключением OOM, однако нам нужно зафиксировать любой тип исключения. –