Интерфейс StackWalker.StackFrame
- Вложенный класс:
StackWalker
public static interface StackWalker.StackFrame
Объект типа
StackFrame представляет собой вызов метода, возвращённый методом StackWalker. Метод getDeclaringClass() может быть не поддерживаемым, в зависимости от параметров анализа стека анализатора стека.
- См. Спецификацию Java Virtual Machine:
- 2.6
- С момента:
- 9
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
int |
getByteCodeIndex() |
Возвращает индекс в массиве кода атрибута Code, содержащего точку выполнения, представленную этим кадровым элементом стека. |
String |
getClassName() |
Получает бинарное имя класса-объявителя метода, представленного этим кадровым элементом стека. |
Class |
getDeclaringClass() |
Получает объявляющий Class для метода, представленного этим кадровым элементом стека. |
default String |
getDescriptor() |
Возвращает дескриптор метода, представленного этим кадровым элементом стека, как определено в Спецификации Java Virtual Machine. |
String |
getFileName() |
Возвращает имя исходного файла, содержащего точку выполнения, представленную этим кадровым элементом стека. |
int |
getLineNumber() |
Возвращает номер строки исходного кода, содержащей точку выполнения, представленную этим кадровым элементом стека. |
String |
getMethodName() |
Получает имя метода, представленного этим кадровым элементом стека. |
default MethodType |
getMethodType() |
Возвращает MethodType, представляющий типы параметров и возвращаемый тип для метода, представленного этим кадровым элементом стека. |
boolean |
isNativeMethod() |
Возвращает true если метод, содержащий точку выполнения, представленную этим кадровым элементом стека, является методом нативного кода. |
StackTraceElement |
toStackTraceElement() |
Получает StackTraceElement для этого кадрового элемента стека. |
Подробное описание методов
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()
Возвращает дескриптор метода, представленного этим кадровым элементом стека, как определено в Спецификации Java Virtual Machine.
- Требования к реализации:
- По умолчанию реализация выбрасывает
UnsupportedOperationException. - Возвращает:
- дескриптор метода, представленного этим кадровым элементом стека
- См. Спецификацию Java Virtual Machine:
- 4.3.3 Дескриптор метода
- С момента:
- 10
- См. также:
getByteCodeIndex
int getByteCodeIndex()
Возвращает индекс в массиве кода атрибута
Code, содержащего точку выполнения, представленную этим кадровым элементом стека. Массив кода содержит фактические байты кода Java Virtual Machine, реализующие метод.- Возвращает:
- индекс в массиве кода атрибута
Code, содержащего точку выполнения, представленную этим кадровым элементом стека, или отрицательное число, если метод является методом нативного кода. - См. Спецификацию Java Virtual Machine:
- 4.7.3 Атрибут
Code
getFileName
String getFileName()
Возвращает имя исходного файла, содержащего точку выполнения, представленную этим кадровым элементом стека. Как правило, это соответствует атрибуту
SourceFile соответствующего файла class согласно Спецификации Java Virtual Machine. В некоторых системах имя может ссылаться на какой-либо блок исходного кода, отличный от файла, например, на запись в системе контроля версий.- Возвращает:
- имя файла, содержащего точку выполнения, представленную этим кадровым элементом стека, или
nullесли эта информация недоступна. - См. Спецификацию Java Virtual Machine:
- 4.7.10 Атрибут
SourceFile
getLineNumber
int getLineNumber()
Возвращает номер строки исходного кода, содержащей точку выполнения, представленную этим кадровым элементом стека. Как правило, это выводится из атрибута
LineNumberTable соответствующего файла class согласно Спецификации Java Virtual Machine.- Возвращает:
- номер строки исходного кода, содержащей точку выполнения, представленную этим кадровым элементом стека, или отрицательное число, если эта информация недоступна.
- См. Спецификацию Java Virtual Machine:
- 4.7.12 Атрибут
LineNumberTable
isNativeMethod
boolean isNativeMethod()
Возвращает
true если метод, содержащий точку выполнения, представленную этим кадровым элементом стека, является методом нативного кода.- Возвращает:
-
trueесли метод, содержащий точку выполнения, представленную этим кадровым элементом стека, является методом нативного кода.
toStackTraceElement
StackTraceElement toStackTraceElement()
Получает
StackTraceElement для этого кадрового элемента стека.- Возвращает:
-
StackTraceElementдля этого кадрового элемента стека.
© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/StackWalker.StackFrame.html