带有 StepRequest.STEP_MIN 参数的 StepRequest

StepRequest with StepRequest.STEP_MIN parameter

在Java调试界面中,带有StepRequest.STEP_MIN参数的StepRequest是什么意思? https://docs.oracle.com/javase/7/docs/jdk/api/jpda/jdi/com/sun/jdi/request/StepRequest.html Java 文档说 "Step to the next available location"。下一个可用位置是什么?我逐行理解 StepRequest.STEP_LINE 参数到 运行 但什么是 StepRequest.STEP_MIN 参数?当我用这个参数运行时,单行有多个步骤请求,我无法理解。

来自RequestManager javadoc

A sizevalue of StepRequest.STEP_MIN will generate a step event each time the code index changes. It represents the smallest step size available and often maps to the instruction level. A size value of StepRequest.STEP_LINE will generate a step event each time the source line changes unless line number information is not available, in which case a STEP_MIN will be done instead

正在查看The class file format#The LineNumberTable

The LineNumberTable attribute is an optional variable-length attribute in the attributes table of a Code (§4.7.3) attribute. It may be used by debuggers to determine which part of the Java Virtual Machine code array corresponds to a given line number in the original source file.

可能 StepRequest 使用代码数组和行号-table 来确定下一步位置。