Интерфейс VirtualMachine
- Все суперинтерфейсы:
Mirror
- Все известные подинтерфейсы:
PathSearchingVirtualMachine
public interface VirtualMachine extends Mirror
mirror, представляющее составное состояние целевой виртуальной машины. Все остальные зеркала связаны с экземпляром этого интерфейса. Доступ ко всем остальным зеркалам осуществляется прямо или косвенно через экземпляр этого интерфейса. Доступ к глобальным свойствам виртуальной машины и управление выполнением виртуальной машины поддерживаются непосредственно этим интерфейсом. Экземпляры этого интерфейса создаются экземплярами Connector. Например, AttachingConnector подключается к целевой виртуальной машине и возвращает её зеркало виртуальной машины. Обычно Connector создает VirtualMachine, вызывая метод VirtualMachineManager 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, отправленных целевой виртуальной машине. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
List |
allClasses() |
Возвращает все загруженные типы в целевой виртуальной машине. |
default List |
allModules() |
Возвращает все модули. |
List |
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 |
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 в целевой виртуальной машине, указанную в свойстве java.version. |
Методы, объявленные в интерфейсе 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()имеет значение false, любой вызов этого метода выбросит это исключение. - Если
canAddMethod()имеет значение false, попытка добавить метод выбросит это исключение. - Если
canUnrestrictedlyRedefineClasses()имеет значение false, попытка внести любое из неподдерживаемых изменений файла класса, описанных в JVM TI RedefineClasses, выбросит это исключение.
- Если
-
NoClassDefFoundError— если байты не соответствуют типу ссылки (имена не совпадают). -
VerifyError— если «верификатор» обнаружит, что класс, несмотря на корректную структуру, содержит внутреннюю несогласованность или проблему безопасности. -
ClassFormatError— если байты не представляют допустимый класс. -
ClassCircularityError— если при инициализации класса обнаружена циклическая зависимость. -
UnsupportedClassVersionError— если виртуальная машина не поддерживает указанные в байтах старшую и младшую версии. -
VMCannotBeModifiedException— если VirtualMachine доступна только для чтения — см.canBeModified(). - С версии:
- 1.4
- См. также:
allThreads
List<ThreadReference> allThreads()
Возвращаемый список содержит объект ThreadReference для каждого работающего платформенного потока целевой виртуальной машины. Сюда входят платформенные потоки, созданные с помощью API java.lang.Thread, и все собственные потоки, присоединенные к целевой виртуальной машине с помощью кода 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— логическое значение, для которого создается объект - Возвращает:
BooleanValueдля заданного логического значения.
mirrorOf
ByteValue mirrorOf(byte value)
ByteValue для заданного значения. Это значение можно использовать для присваивания и сравнения со значением, полученным из переменной или поля этой виртуальной машины.- Параметры:
-
value— значение типа byte, для которого создается объект - Возвращает:
ByteValueдля заданного значения типа byte.
mirrorOf
CharValue mirrorOf(char value)
CharValue для заданного значения. Это значение можно использовать для присваивания и сравнения со значением, полученным из переменной или поля этой виртуальной машины.- Параметры:
-
value— значение типа char, для которого создается объект - Возвращает:
CharValueдля заданного значения типа char.
mirrorOf
ShortValue mirrorOf(short value)
ShortValue для заданного значения. Это значение можно использовать для присваивания и сравнения со значением, полученным из переменной или поля этой виртуальной машины.- Параметры:
-
value— значение типа short, для которого создается объект - Возвращает:
ShortValueдля заданного значения типа short.
mirrorOf
IntegerValue mirrorOf(int value)
IntegerValue для заданного значения. Это значение можно использовать для присваивания и сравнения со значением, полученным из переменной или поля этой виртуальной машины.- Параметры:
-
value— значение типа int, для которого создается объект - Возвращает:
IntegerValueдля заданного значения типа int.
mirrorOf
LongValue mirrorOf(long value)
LongValue для заданного значения. Это значение можно использовать для присваивания и сравнения со значением, полученным из переменной или поля этой виртуальной машины.- Параметры:
-
value— значение типа long, для которого создается объект - Возвращает:
LongValueдля заданного значения типа long.
mirrorOf
FloatValue mirrorOf(float value)
FloatValue для заданного значения. Это значение можно использовать для присваивания и сравнения со значением, полученным из переменной или поля этой виртуальной машины.- Параметры:
-
value— значение типа float, для которого создается объект - Возвращает:
FloatValueдля заданного значения типа float.
mirrorOf
DoubleValue mirrorOf(double value)
DoubleValue для заданного значения. Это значение можно использовать для присваивания и сравнения со значением, полученным из переменной или поля этой виртуальной машины.- Параметры:
-
value— значение типа double, для которого создается объект - Возвращает:
DoubleValueдля заданного значения типа double.
mirrorOf
StringReference mirrorOf(String value)
- Параметры:
-
value— строка, которую необходимо создать - Возвращает:
- объект
StringReference, представляющий вновь созданную строку в целевой виртуальной машине. - Выбрасывает:
-
VMCannotBeModifiedException— если VirtualMachine доступна только для чтения — см.canBeModified().
mirrorOfVoid
VoidValue mirrorOfVoid()
VoidValue. Это значение можно передать в ThreadReference.forceEarlyReturn(Value), если необходимо выйти из метода void.- Возвращает:
VoidValue.
process
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 не выполняются.
- Параметры:
-
exitCode— код завершения целевой виртуальной машины. На некоторых платформах код завершения может быть усечен, например до младших 8 бит. - Выбрасывает:
-
VMCannotBeModifiedException— если VirtualMachine доступна только для чтения — см.canBeModified().
canWatchFieldModification
boolean canWatchFieldModification()
- Возвращает:
-
true, если эта функция поддерживается, иfalseв противном случае.
canWatchFieldAccess
boolean canWatchFieldAccess()
- Возвращает:
-
true, если эта функция поддерживается, иfalseв противном случае.
canGetBytecodes
boolean canGetBytecodes()
- Возвращает:
-
true, если эта функция поддерживается, иfalseв противном случае.
canGetSyntheticAttribute
boolean canGetSyntheticAttribute()
- Возвращает:
-
true, если эта функция поддерживается, иfalseв противном случае.
canGetOwnedMonitorInfo
boolean canGetOwnedMonitorInfo()
- Возвращает:
-
true, если эта функция поддерживается, иfalseв противном случае.
canGetCurrentContendedMonitor
boolean canGetCurrentContendedMonitor()
- Возвращает:
-
true, если эта функция поддерживается, иfalseв противном случае.
canGetMonitorInfo
boolean canGetMonitorInfo()
- Возвращает:
-
true, если эта функция поддерживается, иfalseв противном случае.
canUseInstanceFilters
boolean canUseInstanceFilters()
BreakpointRequest.addInstanceFilter(ObjectReference).- Возвращает:
-
true, если эта функция поддерживается, иfalseв противном случае.
canRedefineClasses
boolean canRedefineClasses()
- Возвращает:
-
true, если эта функция поддерживается, иfalseв противном случае. - С версии:
- 1.4
- См. также:
canAddMethod
@Deprecated(since="15") boolean canAddMethod()
- Возвращает:
-
true, если эта функция поддерживается, иfalseв противном случае. - С версии:
- 1.4
- См. также:
canUnrestrictedlyRedefineClasses
@Deprecated(since="15") boolean canUnrestrictedlyRedefineClasses()
redefineClasses(Map).- Возвращает:
-
true, если функция поддерживается, иfalseв противном случае. - С версии:
- 1.4
- См. также:
canPopFrames
boolean canPopFrames()
- Возвращает:
-
true, если функция поддерживается, иfalseв противном случае. - С версии:
- 1.4
- См. также:
canGetSourceDebugExtension
boolean canGetSourceDebugExtension()
- Возвращает:
-
true, если функция поддерживается, иfalseв противном случае. - С версии:
- 1.4
- См. также:
canRequestVMDeathEvent
boolean canRequestVMDeathEvent()
VMDeathRequest.- Возвращает:
-
true, если функция поддерживается, иfalseв противном случае. - С версии:
- 1.4
- См. также:
canGetMethodReturnValues
boolean canGetMethodReturnValues()
MethodExitEvent.- Возвращает:
-
true, если функция поддерживается, иfalseв противном случае. - С версии:
- 1.6
- См. также:
canGetInstanceInfo
boolean canGetInstanceInfo()
- Возвращает:
-
true, если функция поддерживается, иfalseв противном случае. - С версии:
- 1.6
- См. также:
canUseSourceNameFilters
boolean canUseSourceNameFilters()
- Возвращает:
-
true, если функция поддерживается, иfalseв противном случае. - С версии:
- 1.6
- См. также:
canForceEarlyReturn
boolean canForceEarlyReturn()
- Возвращает:
-
true, если функция поддерживается, иfalseв противном случае. - С версии:
- 1.6
- См. также:
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, 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://docs.oracle.com/en/java/javase/25/docs/api/jdk.jdi/com/sun/jdi/VirtualMachine.html