模块 java.base
 java.lang

接口 StackWalker.StackFrame

封闭类:
StackWalker

public static interface StackWalker.StackFrame
StackFrame 对象表示 StackWalker 返回的方法调用。

getDeclaringClass() 方法可能不受支持,正如 堆垛机堆栈步行选项 所确定的那样。

Java 虚拟机规范:
2.6
自从:
9
  • 方法详情

    • getClassName

      String  getClassName()
      获取此堆栈帧表示的方法的声明类的 二进制名称
      返回:
      此堆栈帧表示的方法的声明类的二进制名称
      Java 语言规范:
      13.1 二进制形式
    • getMethodName

      String  getMethodName()
      获取此堆栈帧表示的方法的名称。
      返回:
      此堆栈帧表示的方法的名称
    • getDeclaringClass

      Class <?> getDeclaringClass()
      获取此堆栈帧表示的方法的声明 Class
      返回:
      此堆栈帧表示的方法的声明 Class
      抛出:
      UnsupportedOperationException - 如果此 StackWalker 未配置 Option.RETAIN_CLASS_REFERENCE
    • getMethodType

      default MethodType  getMethodType()
      返回表示参数类型的 MethodType 和此堆栈帧表示的方法的返回类型。
      实现要求:
      默认实现抛出 UnsupportedOperationException
      返回:
      这个堆栈帧的 MethodType
      抛出:
      UnsupportedOperationException - 如果此 StackWalker 未配置 Option.RETAIN_CLASS_REFERENCE
      自从:
      10
    • getDescriptor

      default String  getDescriptor()
      返回descriptor此堆栈帧表示的方法的定义如下Java 虚拟机规范.
      实现要求:
      默认实现抛出 UnsupportedOperationException
      返回:
      此堆栈帧表示的方法的描述符
      Java 虚拟机规范:
      4.3.3 方法描述符
      自从:
      10
      参见:
    • getByteCodeIndex

      int getByteCodeIndex()
      返回包含此堆栈帧表示的执行点的 Code 属性的代码数组的索引。代码数组给出了实现该方法的 Java 虚拟机代码的实际字节数。
      返回:
      包含此堆栈帧表示的执行点的Code属性的代码数组的索引,如果该方法是本机的,则为负数。
      Java 虚拟机规范:
      4.7.3 代码 属性
    • getFileName

      String  getFileName()
      返回包含此堆栈帧表示的执行点的源文件的名称。通常,这对应于相关 class 文件的 SourceFile 属性,定义如下Java 虚拟机规范.在某些系统中,该名称可能指的是文件以外的某些源代码单元,例如源存储库中的条目。
      返回:
      包含此堆栈帧表示的执行点的文件的名称,如果此信息不可用,则为 null
      Java 虚拟机规范:
      4.7.10 SourceFile 属性
    • getLineNumber

      int getLineNumber()
      返回包含此堆栈帧表示的执行点的源代码行的行号。通常,这是从相关 class 文件的 LineNumberTable 属性派生的,定义如下Java 虚拟机规范.
      返回:
      包含此堆栈帧表示的执行点的源代码行的行号,如果此信息不可用,则为负数。
      Java 虚拟机规范:
      4.7.12LineNumberTable属性
    • isNativeMethod

      boolean isNativeMethod()
      如果包含此堆栈帧表示的执行点的方法是本机方法,则返回 true
      返回:
      true 如果包含此堆栈帧表示的执行点的方法是本地方法。
    • toStackTraceElement

      StackTraceElement  toStackTraceElement()
      获取此堆栈帧的 StackTraceElement
      返回:
      StackTraceElement 用于此堆栈帧。