Подтвердить что ты не робот

Методические точки останова могут значительно замедлить отладку

При добавлении точки останова в строку объявления метода (в Intellij IDEA или Android Studio) появляется всплывающее окно:

Контрольные точки метода могут значительно замедлить отладку

Почему это резко замедляет отладку, мой вопрос? Чем отличается точка останова в первой строке функции?

Спасибо!

4b9b3361

Ответ 1

Я немного огляделся и увидел этот пост в Intellij Documetation:

Точка останова метода

Контрольные точки метода действуют в ответ на ввод программы или выход из определенного метода. Они позволяют настроить таргетинг на ваши сеансы отладки методом, который вы хотите исследовать, а не по номеру строки. Методические точки останова позволяют следить за потоком программы на уровне метода, а также проверять условия входа и выхода. Обратите внимание, что использование меток breakpoints может замедлить приложение, которое вы отлаживаете.

Я предполагаю, что он останавливает программу до того, как она войдет в метод, чтобы вы могли оценить параметры и т.д. перед входом в метод.

Причина, по которой он резко замедляется, - это то, что я могу собрать, потому что это все, которое я мог бы найти на методах breakpoints в документации Intellij), что он должен:

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

и я полагаю, что это займет намного больше времени, чем просто остановить выполнение программы

Ответ 2

Мое понимание заключается в том, что код должен выполняться интерпретируемо (вместо использования JIT для предварительной компиляции?), когда точка останова устанавливается на запись метода.

Если вы установите точку останова в первой строке метода, я подозреваю, что индекс номера строки в коде можно использовать для простой замены кода операции перебора для исходного кода операции, поэтому приложение работает на полной скорости. (который по-прежнему кажется мне довольно медленным при отладке;)