#java #debugging #production
#java #отладка #производство
Вопрос:
Как мы можем отладить то, что произошло, когда исключение было выдано позже?
У нас есть производственное приложение, написанное на Java, которое случайным образом выдает исключение, которое мы можем перехватить и зарегистрировать на сервере. Мы хотели бы отладить это, чтобы увидеть, что происходит, поскольку журналы не раскрывают много информации.
И под отладкой я подразумеваю переход в отладчик, такой как Eclipse или отладчик IntelliJ, и просмотр кода для того, что произошло при возникновении исключения, в комплекте с данными, передаваемыми в методы и локальные переменные и т. Д.
Поэтому я хотел бы иметь какой-то дамп, сохраняемый всякий раз, когда это происходит, а затем иметь возможность загружать этот дамп в какой-либо инструмент для его отладки после факта.
Поэтому я бы предпочел решения, которые:
- Можно создать файл дампа из кода, не оказывая негативного влияния на наше рабочее приложение
- Может быть проанализирован с помощью инструмента GUI, такого как отладчик Eclipse, например.
Комментарии:
1. У вас всегда будут побочные эффекты, поскольку что-то должно либо дополнительно запускаться в памяти, либо постоянно записывать что-то на жесткий диск, либо и то, и другое. Вы заглядывали в JVM Flight Recorder от Oracle? oracle.com/technetwork/java/javaseproducts/mission-control /…
2. Хорошее упоминание о JVM Flight Recorder — вы должны добавить это в качестве ответа!
Ответ №1:
Я рекомендую заглянуть в JVM Flight Recorder от Oracle, который не является бесплатным, но именно для этого сценария.