0

Сохранение состояния объекта в отладчике IntelliJ?

8

Заголовок: Как сохранить состояние объекта при отладке?

Тело вопроса: Здравствуйте!

У меня возникла проблема: возможно ли сохранить состояние объекта во время отладки? Я хотел бы сравнить состояние одного и того же объекта в двух разных циклах выполнения.

Дополнительный вопрос: Есть ли у кого-то опыт разработки плагинов для IntelliJ? Позволяет ли SDK IntelliJ получать значения отладки в режиме отладки? Можно ли прочитать их из кеша IntelliJ и записать на диск?

Спасибо за помощь!

5 ответ(ов)

0

Лучший обходной путь для сохранения состояния объекта, который я использую, заключается в том, чтобы воспользоваться инструментом Evaluate, когда объект находится в нужном состоянии. Затем я использую библиотеку Gson для преобразования этого объекта в JSON. На этапе настройки теста я копирую полученный JSON в виде строки и снова преобразую его в Java-объект. Возможно, это немного грубо, но для действительно больших и сложных объектов это может сэкономить вам много времени.

0

Если вас устраивает сохранять каждый объект (вы не можете выбрать, какие объекты сохранять), то для этого есть плагин: Breakpoint Exporter/Importer with Variable Information.

0

В IntelliJ 2016 у вас есть возможность выбрать "Просмотреть текст" (View Text), кликнув правой кнопкой мыши по переменной в окне "Переменные" (Variables) во время отладки. Это позволяет вам просмотреть содержимое переменной в текстовом формате. Если у вас есть дополнительные вопросы или нужна помощь с отладкой, не стесняйтесь уточнять!

0

Для отображения данных в формате JSON, вы можете использовать следующий пример кода:

ObjectMapper mapper = new ObjectMapper();
try {
    String sample = mapper.writeValueAsString(вашОбъект);
    System.out.println(sample);
} catch (JsonProcessingException e) {
    e.printStackTrace();
}

Замените вашОбъект на экземпляр вашего класса, который вы хотите сериализовать в JSON. Использование ObjectMapper из библиотеки Jackson позволяет легко конвертировать объекты Java в строку в формате JSON. В случае возникновения ошибки будет выведена информация об исключении.

0

Если в отладчике IntelliJ у вас проблема с отображением объекта (например, вы видите только одну строчку), вы можете попробовать следующий подход:

new Gson().toJson(request);

Этот код использует библиотеку Gson для преобразования вашего объекта request в JSON-строку. Это может помочь вам получить более полное представление о состоянии объекта, когда отладка не показывает его содержимое в удобном формате. Убедитесь, что у вас подключена библиотека Gson в вашем проекте.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь