Интерфейс VirtualMachine
- Все суперинтерфейсы:
Mirror
- Все известные подинтерфейсы:
PathSearchingVirtualMachine
public interface VirtualMachine extends Mirror
mirror, представляющая составное состояние целевой ВМ. Все остальные зеркала связаны с экземпляром этого интерфейса. Доступ ко всем остальным зеркалам осуществляется напрямую или косвенно через экземпляр этого интерфейса. Доступ к глобальным свойствам ВМ и управлению выполнением ВМ поддерживается непосредственно этим интерфейсом. Экземпляры этого интерфейса создаются экземплярами Connector. Например, AttachingConnector подключается к целевой ВМ и возвращает зеркало виртуальной машины. Как правило, соединитель создаёт VirtualMachine, вызывая метод VirtualMachineManager's 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<ReferenceType> |
allClasses() |
Возвращает все загруженные типы в целевой виртуальной машине. |
default List<ModuleReference> |
allModules() |
Возвращает все модули. |
List<ThreadReference> |
allThreads() |
Возвращает список запущенных в данный момент потоков. |
boolean |
canAddMethod() |
Устарело. Подсистема JDWP на базе JVM TI никогда не установит это свойство в значение 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() |
Устарело. Подсистема JDWP на базе JVM TI никогда не установит это свойство в значение true. |
boolean |
canUseInstanceFilters() |
Определяет, поддерживает ли целевая виртуальная машина фильтрацию событий по конкретному объекту экземпляра. |
boolean |
canUseSourceNameFilters() |
Определяет, поддерживает ли целевая виртуальная машина фильтрацию событий подготовки класса по имени источника. |
boolean |
canWatchFieldAccess() |
Определяет, поддерживает ли целевая виртуальная машина точки наблюдения для доступа к полю. |
boolean |
canWatchFieldModification() |
Определяет, поддерживает ли целевая виртуальная машина точки наблюдения для изменения поля. |
List<ReferenceType> |
classesByName |
Возвращает загруженные типы ссылок, соответствующие заданному имени. |
String |
description() |
Возвращает текстовую информацию о целевой виртуальной машине и поддержке отладчика, которая её отражает. |
void |
dispose() |
Деактивирует это зеркало виртуальной машины. |
EventQueue |
eventQueue() |
Возвращает очередь событий для этой виртуальной машины. |
EventRequestManager |
eventRequestManager() |
Возвращает менеджер запросов событий для этой виртуальной машины. |
void |
exit |
Принуждает зеркальную VM к завершению с указанным кодом ошибки. |
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<ThreadGroupReference> |
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, каждый из которых отражает загруженный тип в целевой виртуальной машине. - См. также:
-
- JVM TI GetLoadedClasses относительно того, как можно инициировать создание класса и интерфейса
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, все нативные потоки, подключенные к целевой виртуальной машине через JNI, и системные потоки, созданные целевой виртуальной машиной. Объекты потоков, которые еще не были запущены (см. Thread.start()) и объекты потоков, которые завершили свою работу, не включены в возвращаемый список.- Возвращает:
- список объектов
ThreadReference, по одному для каждого работающего потока в отраженной виртуальной машине.
приостановить
void suspend()
В отличие от Thread.suspend(), приостановки как виртуальной машины, так и отдельных потоков считаются. Перед тем, как поток снова сможет запуститься, его необходимо возобновить (через resume() или ThreadReference.resume()) столько же раз, сколько он был приостановлен.
- Исключения:
-
VMCannotBeModifiedException- если VirtualMachine является только для чтения - см.canBeModified().
возобновить
void resume()
ThreadReference.resume().- Исключения:
-
VMCannotBeModifiedException- если VirtualMachine является только для чтения - см.canBeModified(). - См. также:
главные группы потоков
List<ThreadGroupReference> topLevelThreadGroups()
ThreadGroupReference помещается в возвращаемый список. Эта команда может быть использована в качестве первого шага для построения дерева (или деревьев) существующих групп потоков.
- Возвращаемое значение:
- список объектов
ThreadGroupReference, по одному для каждой главной группы потоков.
очередь событий
EventQueue eventQueue()
EventQueue, этот метод каждый раз будет возвращать тот же экземпляр.- Возвращаемое значение:
- объект
EventQueueдля этой виртуальной машины. - Исключения:
-
VMCannotBeModifiedException- если VirtualMachine является только для чтения - см.canBeModified().
менеджер запросов событий
EventRequestManager eventRequestManager()
EventRequestManager управляет настраиваемыми событиями пользователя, такими как точки останова. У виртуальной машины есть только один объект EventRequestManager, этот метод каждый раз будет возвращать тот же экземпляр.- Возвращаемое значение:
- объект
EventRequestManagerдля этой виртуальной машины. - Исключения:
-
VMCannotBeModifiedException- если VirtualMachine является только для чтения - см.canBeModified().
mirrorOf
BooleanValue mirrorOf(boolean value)
BooleanValue для данного значения. Это значение может использоваться для установки и сравнения с значением, полученным из переменной или поля в этой виртуальной машине.- Параметры:
-
value- булево значение для создания значения - Возвращаемое значение:
BooleanValueдля данного булевого значения.
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), когда метод void должен быть завершен.- Возвращаемое значение:
VoidValue.
процесс
Process process()
Process для этой виртуальной машины, если она запущена с помощью LaunchingConnector
- Возвращаемое значение:
- объект
Processдля этой виртуальной машины или null, если она не запущена с помощьюLaunchingConnector. - Исключения:
-
VMCannotBeModifiedException- если VirtualMachine является только для чтения - см.canBeModified().
dispose
void dispose()
- Все запросы событий отменяются.
- Все потоки, приостановленные с помощью
suspend()илиThreadReference.suspend(), возобновляются столько раз, сколько необходимо для их выполнения. - Сбор мусора повторно разрешен во всех случаях, где он был отключен через
ObjectReference.disableCollection().
Ресурсы, происходящие из этой VirtualMachine (ObjectReferences, ReferenceTypes и т.д.), станут недопустимыми.
exit
void exit(int exitCode)
Потоки, выполняемые в отражённой ВМ, резко завершаются. Исключение смерти потока не выбрасывается, и блоки finally не выполняются.
- Parameters:
-
exitCode- код завершения для целевой ВМ. На некоторых платформах код завершения может быть усечён, например, до младших 8 битов. - Throws:
-
VMCannotBeModifiedException- если VirtualMachine является только для чтения - см.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()
- Returns:
-
trueесли функция поддерживается,falseв противном случае. - Since:
- 1.6
- See Also:
canUseSourceNameFilters
boolean canUseSourceNameFilters()
ClassPrepareRequest.addSourceNameFilter(java.lang.String).- Returns:
-
trueесли функция поддерживается,falseв противном случае. - Since:
- 1.6
canForceEarlyReturn
boolean canForceEarlyReturn()
- Returns:
-
trueесли функция поддерживается,falseв противном случае. - Since:
- 1.6
- See Also:
canBeModified
boolean canBeModified()
VMCannotBeModifiedException.- Возвращает:
-
trueесли функция поддерживается,falseв противном случае. - С:
- 1.5
canRequestMonitorEvents
boolean canRequestMonitorEvents()
MonitorContendedEnterRequest. MonitorContendedEnteredRequest. MonitorWaitRequest. MonitorWaitedRequest.- Возвращает:
-
trueесли функция поддерживается,falseв противном случае. - С:
- 1.6
- См. также:
canGetMonitorFrameInfo
boolean canGetMonitorFrameInfo()
- Возвращает:
-
trueесли функция поддерживается,falseв противном случае. - С:
- 1.6
- См. также:
canGetClassFileVersion
boolean canGetClassFileVersion()
- Возвращает:
-
trueесли функция поддерживается,falseв противном случае. - С:
- 1.6
- См. также:
canGetConstantPool
boolean canGetConstantPool()
- Возвращает:
-
trueесли функция поддерживается,falseв противном случае. - С:
- 1.6
- См. также:
canGetModuleInfo
default boolean canGetModuleInfo()
- Требования к реализации:
- По умолчанию возвращает
false. - Возвращает:
-
trueесли функция поддерживается,falseв противном случае - С:
- 9
- См. также:
setDefaultStratum
void setDefaultStratum(String stratum)
Location для обсуждения слоев). Перезаписывает стандартный слой по умолчанию для каждого класса, заданный в файле класса. Воздействует на запросы расположения (например, Location.sourceName()) и границы строк, используемые при пошаговом выполнении.
- Параметры:
-
stratum- слой по умолчанию для ВМ, или null для использования стандартных значений по умолчанию для каждого класса. - Исключения:
-
UnsupportedOperationException- если целевая виртуальная машина не поддерживает эту операцию. - С:
- 1.4
getDefaultStratum
String getDefaultStratum()
- Возвращает:
-
null(что означает, что должен использоваться стандартный слой по умолчанию для каждого класса -ReferenceType.defaultStratum()- если стандартный слой не был установлен с помощьюsetDefaultStratum(String). - С:
- 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. - С:
- 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, 2021, 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/17/docs/api/jdk.jdi/com/sun/jdi/VirtualMachine.html