Интерфейс VirtualMachine
- Все суперинтерфейсы:
Mirror
- Все известные подинтерфейсы:
PathSearchingVirtualMachine
public interface VirtualMachine extends Mirror
mirror, представляющая составное состояние целевой ВМ. Все остальные зеркала связаны с экземпляром этого интерфейса. Доступ ко всем другим зеркалам осуществляется непосредственно или косвенно через экземпляр этого интерфейса. Доступ к глобальным свойствам ВМ и управлению выполнением ВМ поддерживается непосредственно этим интерфейсом. Экземпляры этого интерфейса создаются экземплярами Connector. Например, AttachingConnector подключается к целевой ВМ и возвращает зеркало виртуальной машины. Как правило, Connector создаёт VirtualMachine, вызывая метод VirtualMachineManager.createVirtualMachine(Connection) createVirtualMachine(Connection) менеджера виртуальных машин.
Обратите внимание, что целевая ВМ, запущенная запусковым соединителем, не гарантируется стабильной до получения события VMStartEvent.
Любой метод интерфейса VirtualMachine, принимающий VirtualMachine в качестве параметра, может выбросить исключение VMDisconnectedException, если целевая ВМ отключена, и событие VMDisconnectEvent было получено или доступно для чтения из очереди событий EventQueue.
Любой метод интерфейса VirtualMachine, принимающий VirtualMachine в качестве параметра, может выбросить исключение VMOutOfMemoryException, если в целевой ВМ закончилась память.
- С момента:
- 1.3
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
TRACE_ALL |
Включено всё трассирование. |
static final int |
TRACE_EVENTS |
Включено трассирование для обработки внутренних событий. |
static final int |
TRACE_NONE |
Отключено всё трассирование. |
static final int |
TRACE_OBJREFS |
Включено трассирование для внутренней обработки ссылок на объекты. |
static final int |
TRACE_RECEIVES |
Включено трассирование для пакетов JDWP, полученных от целевой ВМ. |
static final int |
TRACE_REFTYPES |
Включено трассирование для внутренней обработки типов ссылок. |
static final int |
TRACE_SENDS |
Включено трассирование для пакетов JDWP, отправленных целевой ВМ. |
Краткое описание методов
| Modifier and Type | Method | Description |
|---|---|---|
List |
allClasses() |
Возвращает все загруженные типы в целевой виртуальной машине. |
default List |
allModules() |
Возвращает все модули. |
List |
allThreads() |
Возвращает список активных потоков в целевой виртуальной машине. |
boolean |
canAddMethod() |
Устарело. JVM TI-основанный бэкенд JDWP никогда не установит это свойство в значение true. |
boolean |
canBeModified() |
Определяет, является ли целевая виртуальная машина виртуальной машиной только для чтения. |
boolean |
canForceEarlyReturn() |
Определяет, поддерживает ли целевая виртуальная машина принудительное раннее возвращение метода. |
boolean |
canGetBytecodes() |
Определяет, поддерживает ли целевая виртуальная машина получение байткодов метода. |
boolean |
canGetClassFileVersion() |
Определяет, поддерживает ли целевая виртуальная машина чтение основных и второстепенных версий файла класса. |
boolean |
canGetConstantPool() |
Определяет, поддерживает ли целевая виртуальная машина получение информации о константном пуле класса. |
boolean |
canGetCurrentContendedMonitor() |
Определяет, поддерживает ли целевая виртуальная машина получение монитора, на котором поток в настоящее время ожидает. |
boolean |
canGetInstanceInfo() |
Определяет, поддерживает ли целевая виртуальная машина доступ к экземплярам классов, количеству экземпляров и ссылающимся объектам. |
boolean |
canGetMethodReturnValues() |
Определяет, поддерживает ли целевая виртуальная машина включение возвращаемых значений в события MethodExitEvent. |
default boolean |
canGetModuleInfo() |
Определяет, поддерживает ли целевая виртуальная машина получение информации о модулях. |
boolean |
canGetMonitorFrameInfo() |
Определяет, поддерживает ли целевая виртуальная машина получение фрейма, который получил монитор. |
boolean |
canGetMonitorInfo() |
Определяет, поддерживает ли целевая виртуальная машина получение информации о мониторе объекта. |
boolean |
canGetOwnedMonitorInfo() |
Определяет, поддерживает ли целевая виртуальная машина получение мониторов, принадлежащих потоку. |
boolean |
canGetSourceDebugExtension() |
Определяет, поддерживает ли целевая виртуальная машина получение расширения отладки исходного кода. |
boolean |
canGetSyntheticAttribute() |
Определяет, поддерживает ли целевая виртуальная машина запрос синтетического атрибута метода или поля. |
boolean |
canPopFrames() |
Определяет, поддерживает ли целевая виртуальная машина извлечение фреймов из стека потока. |
boolean |
canRedefineClasses() |
Определяет, поддерживает ли целевая виртуальная машина любой уровень переопределения классов. |
boolean |
canRequestMonitorEvents() |
Определяет, поддерживает ли целевая виртуальная машина создание MonitorContendedEnterRequest. |
boolean |
canRequestVMDeathEvent() |
Определяет, поддерживает ли целевая виртуальная машина создание VMDeathRequest. |
boolean |
canUnrestrictedlyRedefineClasses() |
Устарело. JVM TI-основанный бэкенд JDWP никогда не установит это свойство в значение true. |
boolean |
canUseInstanceFilters() |
Определяет, поддерживает ли целевая виртуальная машина фильтрацию событий по конкретному экземпляру объекта. |
boolean |
canUseSourceNameFilters() |
Определяет, поддерживает ли целевая виртуальная машина фильтрацию событий подготовки класса по имени источника. |
boolean |
canWatchFieldAccess() |
Определяет, поддерживает ли целевая виртуальная машина точки останова для доступа к полям. |
boolean |
canWatchFieldModification() |
Определяет, поддерживает ли целевая виртуальная машина точки останова для изменения полей. |
List |
classesByName |
Возвращает загруженные типы ссылок, которые соответствуют заданному имени. |
String |
description() |
Возвращает текстовую информацию о целевой виртуальной машине и поддерживающей её системе отладки. |
void |
dispose() |
Деактивирует зеркало этой виртуальной машины. |
EventQueue |
eventQueue() |
Возвращает очередь событий для этой виртуальной машины. |
EventRequestManager |
eventRequestManager() |
Возвращает менеджер запросов событий для этой виртуальной машины. |
void |
exit |
Заставляет зеркальную виртуальную машину завершиться с заданным кодом ошибки. |
String |
getDefaultStratum() |
Возвращает стандартный страт целевой виртуальной машины. |
long[] |
instanceCounts |
Возвращает количество экземпляров каждого ReferenceType в списке 'refTypes'. |
BooleanValue |
mirrorOf |
Создаёт BooleanValue для данного значения. |
ByteValue |
mirrorOf |
Создаёт ByteValue для данного значения. |
CharValue |
mirrorOf |
Создаёт CharValue для данного значения. |
DoubleValue |
mirrorOf |
Создаёт DoubleValue для данного значения. |
FloatValue |
mirrorOf |
Создаёт FloatValue для данного значения. |
IntegerValue |
mirrorOf |
Создаёт IntegerValue для данного значения. |
LongValue |
mirrorOf |
Создаёт LongValue для данного значения. |
ShortValue |
mirrorOf |
Создаёт ShortValue для данного значения. |
StringReference |
mirrorOf |
Создаёт строку в этой виртуальной машине. |
VoidValue |
mirrorOfVoid() |
Создаёт VoidValue. |
String |
name() |
Возвращает имя целевой виртуальной машины, полученное из свойства java.vm.name. |
Process |
process() |
Возвращает объект Process для этой виртуальной машины, если она запущена с помощью LaunchingConnector
|
void |
redefineClasses |
Все указанные классы переопределяются согласно предоставленным определениям. |
void |
resume() |
Продолжает выполнение приложения, работающего в этой виртуальной машине. |
void |
setDebugTraceMode |
Отслеживает действия, выполняемые реализацией com.sun.jdi. |
void |
setDefaultStratum |
Устанавливает стандартный страт этой виртуальной машины (см. Location для обсуждения стратов). |
void |
suspend() |
Приостанавливает выполнение приложения, работающего в этой виртуальной машине. |
List |
topLevelThreadGroups() |
Возвращает каждую группу потоков, у которой нет родителя. |
String |
version() |
Возвращает версию Java Runtime Environment в целевой виртуальной машине, как сообщается свойством java.version. |
Методы, объявленные в интерфейсе com.sun.jdi.Mirror
toString, virtualMachine
Подробное описание полей
TRACE_NONE
static final int TRACE_NONE
- См. также:
TRACE_SENDS
static final int TRACE_SENDS
- См. также:
TRACE_RECEIVES
static final int TRACE_RECEIVES
- См. также:
TRACE_EVENTS
static final int TRACE_EVENTS
- См. также:
TRACE_REFTYPES
static final int TRACE_REFTYPES
- См. также:
TRACE_OBJREFS
static final int TRACE_OBJREFS
- См. также:
TRACE_ALL
static final int TRACE_ALL
- См. также:
Подробное описание методов
allModules
default List<ModuleReference> allModules()
ModuleReference. Не все целевые виртуальные машины поддерживают эту операцию. Используйте canGetModuleInfo(), чтобы определить, поддерживается ли операция.
- Требования к реализации:
- По умолчанию реализация выбрасывает
UnsupportedOperationException. - Возвращает:
- список объектов
ModuleReference, каждый из которых отражает модуль в целевой виртуальной машине. - Исключения:
-
UnsupportedOperationException- если целевая виртуальная машина не поддерживает эту операцию. - С:
- 9
classesByName
List<ReferenceType> classesByName(String className)
ReferenceType для каждого класса или интерфейса, найденного с заданным именем. Поиск ограничен только загруженными классами; попытка загрузить класс с заданным именем не предпринимается. Возвращаемый список будет включать типы ссылок, загруженные по крайней мере до этапа подготовки, и типы (например, массив), для которых этап подготовки не определен.
- Параметры:
-
className- имя класса/интерфейса для поиска - Возвращает:
- список объектов
ReferenceType, каждый из которых отражает тип в целевой виртуальной машине с заданным именем.
allClasses
List<ReferenceType> allClasses()
Возвращаемый список включает все типы ссылок, включая hidden classes or interfaces, загруженные по крайней мере до этапа подготовки, и типы (например, массив), для которых этап подготовки не определен.
- Возвращает:
- список объектов
ReferenceType, каждый из которых отражает загруженный тип в целевой виртуальной машине. - См. также:
redefineClasses
void redefineClasses(Map<? extends ReferenceType, byte[]> classToBytes)
- их байткоды одинаковы, за исключением индексов в пуле констант, и
- ссылочные константы равны.
Method.isObsolete() вернёт true при вызове для одного из этих методов. Если необходимо сбросить такой фрейм, используйте ThreadReference.popFrames(StackFrame) для извлечения выполнения устаревшего метода из стека. Новые вызовы переопределённых методов всегда вызывают новые версии. Эта функция не вызывает никакой инициализации, кроме той, которая произошла бы в соответствии с обычными семантиками JVM. Другими словами, переопределение класса не вызывает выполнения его инициализаторов. Значения существующих статических переменных останутся такими же, как и до вызова. Однако полностью неинициализированные (новые) статические переменные будут присвоены своё значение по умолчанию.
Если у переопределенного класса есть экземпляры, то все эти экземпляры будут иметь поля, определённые переопределённым классом по завершении вызова. Существующие поля сохранят свои предыдущие значения. Любые новые поля будут иметь свои значения по умолчанию; никакие инициализаторы экземпляров или конструкторы не выполняются.
Потоки не должны приостанавливаться.
Эта функция не генерирует никаких событий.
Все точки останова в переопределённых классах удаляются.
Не все целевые виртуальные машины поддерживают эту операцию. Используйте canRedefineClasses() для определения, поддерживается ли операция. Используйте canAddMethod() для определения, может ли переопределение добавлять методы. Используйте canUnrestrictedlyRedefineClasses() для определения, может ли переопределение изменять схему, удалять методы, изменять иерархию классов и т. д.
- Параметры:
-
classToBytes- словарь отReferenceTypeдо массива байтов. Байты представляют новое определение класса и находятся в формате файла класса виртуальной машины Java. - Исключения:
-
UnsupportedOperationException- если целевая виртуальная машина не поддерживает эту операцию.- Если
canRedefineClasses()ложно, любой вызов этого метода выбросит это исключение. - Если
canAddMethod()ложно, попытка добавить метод вызовет это исключение. - Если
canUnrestrictedlyRedefineClasses()ложно, любая попытка изменить файл класса, не поддерживаемая, как описано в JVM TI RedefineClasses, вызовет это исключение.
- Если
-
NoClassDefFoundError- если байты не соответствуют типу ссылки (имена не совпадают). -
VerifyError- если "верификатор" обнаруживает, что класс, хотя и правильно сформирован, содержит внутреннее противоречие или проблему безопасности. -
ClassFormatError- если байты не представляют действительный класс. -
ClassCircularityError- если обнаружена цикличность при инициализации класса. -
UnsupportedClassVersionError- если номера основной и дополнительной версии в байтах не поддерживаются виртуальной машиной. -
VMCannotBeModifiedException- если VirtualMachine является только для чтения - см.canBeModified(). - С:
- 1.4
- См. также:
allThreads
List<ThreadReference> allThreads()
Возвращаемый список содержит ThreadReference для каждого активного платформенного потока в целевой виртуальной машине. Это включает платформенные потоки, созданные с помощью java.lang.Thread API, и все нативные потоки, подключенные к целевой виртуальной машине с помощью JNI-кода.
Зависит от реализации, будет ли список содержать элементы для активных виртуальных потоков в целевой виртуальной машине. Целевая виртуальная машина может не возвращать ссылки на виртуальные потоки, или она может быть настроена на возвращение ссылок на некоторые или все виртуальные потоки. Инструменты, которые хотят отслеживать все виртуальные потоки, могут включить ThreadStartRequest и ThreadDeathRequest, чтобы получать уведомления о запуске и завершении виртуальных потоков.
- Возвращает:
- список объектов
ThreadReferenceдля потоков в целевой виртуальной машине
suspend
void suspend()
Приостановки как виртуальной машины, так и отдельных потоков учитываются. Перед тем, как поток снова начнет выполняться, его необходимо возобновить (через resume() или ThreadReference.resume()) такое же количество раз, как он был приостановлен.
- Исключение:
-
VMCannotBeModifiedException- если VirtualMachine является только для чтения - См. также:
resume
void resume()
ThreadReference.resume().- Исключение:
-
VMCannotBeModifiedException- если VirtualMachine является только для чтения - См. также:
topLevelThreadGroups
List<ThreadGroupReference> topLevelThreadGroups()
ThreadGroupReference. Эта команда может использоваться в качестве первой стадии построения дерева (или деревьев) существующих групп потоков.
- Возвращает:
- список объектов
ThreadGroupReference, по одному для каждой группы потоков верхнего уровня.
eventQueue
EventQueue eventQueue()
EventQueue, этот метод каждый раз будет возвращать тот же экземпляр.- Возвращает:
- объект
EventQueueдля этой виртуальной машины. - Исключение:
-
VMCannotBeModifiedException- если VirtualMachine является только для чтения - см.canBeModified().
eventRequestManager
EventRequestManager eventRequestManager()
EventRequestManager управляет настраиваемыми событиями пользователя, такими как точки останова. У виртуальной машины есть только один объект EventRequestManager, этот метод каждый раз будет возвращать тот же экземпляр.- Возвращает:
- объект
EventRequestManagerдля этой виртуальной машины. - Исключение:
-
VMCannotBeModifiedException- если VirtualMachine является только для чтения - см.canBeModified().
mirrorOf
BooleanValue mirrorOf(boolean value)
BooleanValue для данного значения. Это значение можно использовать для установки и сравнения со значением, извлеченным из переменной или поля в этой виртуальной машине.- Параметры:
-
value- boolean, для которого нужно создать значение - Возвращает:
- объект
BooleanValueдля данного boolean.
mirrorOf
ByteValue mirrorOf(byte value)
ByteValue для данного значения. Это значение может быть использовано для задания и сравнения со значением, полученным из переменной или поля в этой виртуальной машине.- Параметры:
-
value- байт, для которого нужно создать значение - Возвращает:
- объект
ByteValueдля данного байта.
mirrorOf
CharValue mirrorOf(char value)
CharValue для данного значения. Это значение можно использовать для задания и сравнения со значением, полученным из переменной или поля в этой виртуальной машине.- Параметры:
-
value- символ, для которого нужно создать значение - Возвращает:
- объект
CharValueдля данного символа.
mirrorOf
ShortValue mirrorOf(short value)
ShortValue для данного значения. Это значение можно использовать для задания и сравнения со значением, полученным из переменной или поля в этой виртуальной машине.- Параметры:
-
value- короткое целое число, для которого нужно создать значение - Возвращает:
- объект
ShortValueдля данного короткого целого.
mirrorOf
IntegerValue mirrorOf(int value)
IntegerValue для данного значения. Это значение можно использовать для задания и сравнения со значением, полученным из переменной или поля в этой виртуальной машине.- Параметры:
-
value- целое число, для которого нужно создать значение - Возвращает:
- объект
IntegerValueдля данного целого числа.
mirrorOf
LongValue mirrorOf(long value)
LongValue для данного значения. Это значение можно использовать для задания и сравнения со значением, полученным из переменной или поля в этой виртуальной машине.- Параметры:
-
value- длинное целое число, для которого нужно создать значение - Возвращает:
- объект
LongValueдля данного длинного целого числа.
mirrorOf
FloatValue mirrorOf(float value)
FloatValue для данного значения. Это значение можно использовать для задания и сравнения со значением, полученным из переменной или поля в этой виртуальной машине.- Параметры:
-
value- число с плавающей точкой, для которого нужно создать значение - Возвращает:
- объект
FloatValueдля данного числа с плавающей точкой.
mirrorOf
DoubleValue mirrorOf(double value)
DoubleValue для данного значения. Это значение можно использовать для задания и сравнения со значением, полученным из переменной или поля в этой виртуальной машине.- Параметры:
-
value- число двойной точности, для которого нужно создать значение - Возвращает:
- объект
DoubleValueдля данного числа двойной точности.
mirrorOf
StringReference mirrorOf(String value)
- Параметры:
-
value- строка, которая должна быть создана - Возвращает:
StringReference, отражающий вновь созданную строку в целевой виртуальной машине.- Исключение:
-
VMCannotBeModifiedException- если VirtualMachine является только для чтения - см.canBeModified().
mirrorOfVoid
VoidValue mirrorOfVoid()
VoidValue. Это значение может быть передано в ThreadReference.forceEarlyReturn(com.sun.jdi.Value), когда необходимо завершить выполнение метода без возвращаемого значения.- Returns:
- the
VoidValue.
process
Process process()
Process для этой виртуальной машины, если она запущена с помощью LaunchingConnector
- Returns:
- объект
Processдля этой виртуальной машины или null, если она не была запущена с помощьюLaunchingConnector. - Throws:
-
VMCannotBeModifiedException- если виртуальная машина доступна только для чтения - см.canBeModified().
dispose
void dispose()
- Все запросы событий отменяются.
- Все потоки, приостановленные с помощью
suspend()илиThreadReference.suspend(), возобновляются столько раз, сколько необходимо для их выполнения. - Сборка мусора снова включается во всех случаях, когда она была отключена через
ObjectReference.disableCollection().
Ресурсы, созданные в этой виртуальной машине (ObjectReferences, ReferenceTypes и т. д.), станут недействительными.
exit
void exit(int exitCode)
Потоки, работающие в зеркальной виртуальной машине, резко завершаются. Исключение смерти потока не генерируется, и блоки finally не выполняются.
- Parameters:
-
exitCode- код завершения для целевой виртуальной машины. На некоторых платформах код завершения может быть усечен, например, до младших 8 бит. - Throws:
-
VMCannotBeModifiedException- если виртуальная машина доступна только для чтения - см.canBeModified().
canWatchFieldModification
boolean canWatchFieldModification()
- Returns:
-
trueесли функция поддерживается,falseв противном случае.
canWatchFieldAccess
boolean canWatchFieldAccess()
- Returns:
-
trueесли функция поддерживается,falseв противном случае.
canGetBytecodes
boolean canGetBytecodes()
- Returns:
-
trueесли функция поддерживается,falseв противном случае.
canGetSyntheticAttribute
boolean canGetSyntheticAttribute()
- Returns:
-
trueесли функция поддерживается,falseв противном случае.
canGetOwnedMonitorInfo
boolean canGetOwnedMonitorInfo()
- Returns:
-
trueесли функция поддерживается,falseв противном случае.
canGetCurrentContendedMonitor
boolean canGetCurrentContendedMonitor()
- Returns:
-
trueесли функция поддерживается,falseв противном случае.
canGetMonitorInfo
boolean canGetMonitorInfo()
- Returns:
-
trueесли функция поддерживается,falseв противном случае.
canUseInstanceFilters
boolean canUseInstanceFilters()
BreakpointRequest.addInstanceFilter(com.sun.jdi.ObjectReference).- Returns:
-
trueесли функция поддерживается,falseв противном случае.
canRedefineClasses
boolean canRedefineClasses()
- Returns:
-
trueесли функция поддерживается,falseв противном случае. - Since:
- 1.4
- See Also:
canAddMethod
@Deprecated(since="15") boolean canAddMethod()
- Returns:
-
trueесли функция поддерживается,falseв противном случае. - Since:
- 1.4
- See Also:
canUnrestrictedlyRedefineClasses
@Deprecated(since="15") boolean canUnrestrictedlyRedefineClasses()
redefineClasses(java.util.Map<? extends com.sun.jdi.ReferenceType, byte[]>).- Returns:
-
trueесли функция поддерживается,falseв противном случае. - Since:
- 1.4
- See Also:
canPopFrames
boolean canPopFrames()
- Returns:
-
trueесли функция поддерживается,falseв противном случае. - Since:
- 1.4
- See Also:
canGetSourceDebugExtension
boolean canGetSourceDebugExtension()
- Returns:
-
trueесли функция поддерживается,falseв противном случае. - Since:
- 1.4
- See Also:
canRequestVMDeathEvent
boolean canRequestVMDeathEvent()
VMDeathRequest.- Returns:
-
trueесли функция поддерживается,falseв противном случае. - Since:
- 1.4
- See Also:
canGetMethodReturnValues
boolean canGetMethodReturnValues()
MethodExitEvent.- Returns:
-
trueесли функция поддерживается,falseв противном случае. - Since:
- 1.6
- See Also:
canGetInstanceInfo
boolean canGetInstanceInfo()
- Возвращает:
-
true, если функция поддерживается,falseв противном случае. - Since:
- 1.6
- См. также:
canUseSourceNameFilters
boolean canUseSourceNameFilters()
- Возвращает:
-
true, если функция поддерживается,falseв противном случае. - Since:
- 1.6
- См. также:
canForceEarlyReturn
boolean canForceEarlyReturn()
- Возвращает:
-
true, если функция поддерживается,falseв противном случае. - Since:
- 1.6
- См. также:
canBeModified
boolean canBeModified()
VMCannotBeModifiedException.- Возвращает:
-
true, если функция поддерживается,falseв противном случае. - Since:
- 1.5
canRequestMonitorEvents
boolean canRequestMonitorEvents()
MonitorContendedEnterRequests. MonitorContendedEnteredRequests. MonitorWaitRequests. MonitorWaitedRequests.- Возвращает:
-
true, если функция поддерживается,falseв противном случае. - Since:
- 1.6
- См. также:
canGetMonitorFrameInfo
boolean canGetMonitorFrameInfo()
- Возвращает:
-
true, если функция поддерживается,falseв противном случае. - Since:
- 1.6
- См. также:
canGetClassFileVersion
boolean canGetClassFileVersion()
- Возвращает:
-
true, если функция поддерживается,falseв противном случае. - Since:
- 1.6
- См. также:
canGetConstantPool
boolean canGetConstantPool()
- Возвращает:
-
true, если функция поддерживается,falseв противном случае. - Since:
- 1.6
- См. также:
canGetModuleInfo
default boolean canGetModuleInfo()
- Требования к реализации:
- По умолчанию возвращает
false. - Возвращает:
-
true, если функция поддерживается,falseв противном случае - Since:
- 9
- См. также:
setDefaultStratum
void setDefaultStratum(String stratum)
Location для обсуждения слоев). Переопределяет значение по умолчанию для каждого класса, заданное в файле класса. Влияет на запросы местоположения (например, Location.sourceName()) и границы строк, используемые при пошаговом выполнении.
- Параметры:
-
stratum- слой, который необходимо установить по умолчанию для виртуальной машины, или null для использования значений по умолчанию для каждого класса. - Исключение:
-
UnsupportedOperationException- если целевая виртуальная машина не поддерживает эту операцию. - Since:
- 1.4
getDefaultStratum
String getDefaultStratum()
- Возвращает:
-
null(что означает, что следует использовать значение по умолчанию для каждого класса -ReferenceType.defaultStratum()- если значение по умолчанию для слоя не было установлено с помощьюsetDefaultStratum(String). - Since:
- 1.4
- См. также:
instanceCounts
long[] instanceCounts(List<? extends ReferenceType> refTypes)
Не все целевые виртуальные машины поддерживают эту операцию. Используйте canGetInstanceInfo() для определения поддержки операции.
- Параметры:
-
refTypes- список объектовReferenceType, для которых необходимо получить количество. - Возвращает:
- массив
long, содержащий по одному элементу для каждого элемента в списке 'refTypes'. Элемент i массива содержит количество экземпляров в целевой виртуальной машине типа ReferenceType в позиции i в списке 'refTypes'. Если список 'refTypes' пуст, возвращается массив нулевой длины. Если ReferenceType в refTypes был удалён сборкой мусора, для его счётчика экземпляров возвращается ноль. - Исключение:
-
UnsupportedOperationException- если целевая виртуальная машина не поддерживает эту операцию - см.canGetInstanceInfo() -
NullPointerException- если список 'refTypes' равен null. - Since:
- 1.6
- См. также:
description
String description()
version(), VirtualMachineManager.majorInterfaceVersion() и VirtualMachineManager.minorInterfaceVersion()
- Возвращает:
- описание.
version
String version()
java.version. Для получения версии интерфейса JDI используйте VirtualMachineManager.majorInterfaceVersion() и VirtualMachineManager.minorInterfaceVersion()
- Возвращает:
- версию целевой виртуальной машины.
name
String name()
java.vm.name.- Возвращает:
- имя целевой виртуальной машины.
setDebugTraceMode
void setDebugTraceMode(int traceFlags)
Вывод зависит от реализации, и режим отслеживания может быть проигнорирован.
- Параметры:
-
traceFlags- определяет, какие виды отслеживания следует включить.
© 1993, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/jdk.jdi/com/sun/jdi/VirtualMachine.html