Что используется в java для выявления багов

196
23 декабря 2019, 09:40

Подскажите пожалуйста для тестирования в c# используется Debug.Log()И Console.writeLine а что используется в Java.

Answer 1

Про вывод в консоль и логгирование Вам уже ответили, стоит наверное упомянуть про профилировщики, например JVisualVM или Java Mission Control + FlightRecorder

Профилировщики позволяют более глубоко проанализировать что происходит у Вас в программе, конечно всю эту информацию можно и в рантайме в лог записать, однако визуально как-то проще.

Пару слов о JVisualVM:

Он может работать как с запущенной программой, так и с логами, созданными другими средствами отладки, такие как jstack, jmap итд

Позволяет посмотреть как распределяется память в программе в целом, по этому графику можно понять как в Вашей программе обстоят дела с порождением и уничтожением объектов. Пила - верный признак избыточного использования новый объектов.

Можно узнать что лежит в памяти, посмотреть где объекты были созданы (для этого надо в настройках найти и поставить галочку record allocation stack traces)

Можно в графическом представлении узнать о том, как работают потоки:

Все это может быть очень полезным при поиске проблем в программах на java, однако так же я рекомендую научиться пользоваться консольными средствами отладки из состава jdk, я уже упоминал их jstack, jmap итд. ибо если надо снять информацию с запущенного сервера с доступом только по ssh визуальные профилировщики не помогут.

Answer 2

В Java тоже есть инфраструктура логирования. Если говорить конкретно про логирование в Андроид, то это Log. А ещё есть линтеры, статические анализаторы, но самое главное - отладчик.

READ ALSO
Уведомления на значках андроид

Уведомления на значках андроид

Уведомления на значках программы, как они работают и как это можно реализовать?

199
Тесты для функции

Тесты для функции

Есть функция для работы с переменной (полем) “Возраст студента”КАК спроектировать для этой функции любые кейсы (тесты) для верификации?

227
Как заставить героя двигаться в нужном направлении?

Как заставить героя двигаться в нужном направлении?

Пишу небольшой 2D шутер, на данный момент герой поворачивается в ту сторону куда смотрит мышь, не могу понять как сделать так чтобы он двигался...

193
Intellij-IDEA путает версию Java

Intellij-IDEA путает версию Java

IDEA возвращает вот такую ошибку:

191