StepRequest с параметром StepRequest.STEP_MIN - PullRequest
0 голосов
/ 28 мая 2018

В интерфейсе отладки Java, что означает StepRequest с параметром StepRequest.STEP_MIN?https://docs.oracle.com/javase/7/docs/jdk/api/jpda/jdi/com/sun/jdi/request/StepRequest.html В Java Docs написано "Шаг к следующему доступному местоположению".Каково следующее доступное местоположение?Я понимаю, что параметр StepRequest.STEP_LINE запускается построчно, но что такое параметр StepRequest.STEP_MIN?Когда я запускал с этим параметром, было несколько шагов к одной строке, и я не мог его понять.

1 Ответ

0 голосов
/ 05 июня 2018

С RequestManager javadoc :

Значение размера StepRequest.STEP_MIN будет генерировать событие шага каждый раз, когда изменяется индекс кода.Он представляет наименьший доступный размер шага и часто отображается на уровне инструкции.Значение размера StepRequest.STEP_LINE будет генерировать событие шага каждый раз, когда изменяется исходная строка, если информация о номере строки недоступна, и в этом случае вместо этого будет выполняться STEP_MIN

Просмотр Формат файла класса # LineNumberTable

Атрибут LineNumberTable является необязательным атрибутом переменной длины в таблице атрибутов атрибута Code (§4.7.3). Он может использоваться отладчиками для определения того, какая часть массива кода виртуальной машины Java соответствует данному номеру строки в исходном исходном файле.

Возможно, StepRequest использует кодмассив и таблица номеров строк для определения местоположения следующего шага.

...