Module jdk.jdi

Interface StepRequest

所有超级接口:
EventRequest, Mirror

public interface StepRequest extends EventRequest
请求在目标VM中发生步骤时进行通知。当启用的StepRequest被满足时,一个包含StepEvent事件集将被放置在EventQueue上。现有StepRequests的集合由EventRequestManager管理
自1.3版本起:
参见:
  • Field Details

    • STEP_INTO

      static final int STEP_INTO
      进入任何新推送的帧
      参见:
    • STEP_OVER

      static final int STEP_OVER
      跳过任何新推送的帧
      参见:
    • STEP_OUT

      static final int STEP_OUT
      退出当前帧
      参见:
    • STEP_MIN

      static final int STEP_MIN
      跳转到下一个可用位置
      参见:
    • STEP_LINE

      static final int STEP_LINE
      跳转到不同行上的下一个位置
      参见:
  • Method Details

    • thread

      ThreadReference thread()
      返回:
      请求步骤事件的线程。
    • size

      int size()
      返回:
      步骤大小
    • depth

      int depth()
      返回:
      步骤深度
    • addClassFilter

      void addClassFilter(ReferenceType refType)
      将此请求生成的事件限制为位置在给定引用类型或其任何子类型中的事件。对于可以安全转换为给定引用类型的引用类型中的任何位置将生成事件。
      参数:
      refType - 要过滤的引用类型。
      抛出:
      InvalidRequestStateException - 如果此请求当前已启用或已删除。只能向已禁用的请求添加过滤器。
    • addClassFilter

      void addClassFilter(String classPattern)
      将此请求生成的事件限制为位置匹配受限制正则表达式的类。正则表达式仅限于精确匹配和以'*'开头或以'*'结尾的模式;例如,"*.Foo"或"java.*"。
      参数:
      classPattern - 要过滤的模式字符串。
      抛出:
      InvalidRequestStateException - 如果此请求当前已启用或已删除。只能向已禁用的请求添加过滤器。
    • addClassExclusionFilter

      void addClassExclusionFilter(String classPattern)
      将此请求生成的事件限制为位置不匹配受限制正则表达式的类。正则表达式仅限于精确匹配和以'*'开头或以'*'结尾的模式;例如,"*.Foo"或"java.*"。
      参数:
      classPattern - 要过滤的模式字符串。
      抛出:
      InvalidRequestStateException - 如果此请求当前已启用或已删除。只能向已禁用的请求添加过滤器。
    • addInstanceFilter

      void addInstanceFilter(ObjectReference instance)
      将此请求生成的事件限制为当前执行实例("this")为指定对象的事件。

      并非所有目标都支持此操作。使用VirtualMachine.canUseInstanceFilters()来确定是否支持该操作。

      参数:
      instance - 必须是当前实例才能通过此过滤器的对象。
      抛出:
      UnsupportedOperationException - 如果目标虚拟机不支持此操作。
      InvalidRequestStateException - 如果此请求当前已启用或已删除。只能向已禁用的请求添加过滤器。
      自1.4版本起: