Spec-Zone .ru
спецификации, руководства, описания, API
  • Набор команд VirtualMachine (1)
  • Набор команд ReferenceType (2)
  • Набор команд ClassType (3)
  • Набор команд ArrayType (4)
  • Набор команд InterfaceType (5)
  • Набор команд метода (6)
  • Полевой Набор команд (8)
  • Набор команд ObjectReference (9)
  • Набор команд StringReference (10)
  • Набор команд ThreadReference (11)
  • Набор команд ThreadGroupReference (12)
  • Набор команд ArrayReference (13)
  • Набор команд ClassLoaderReference (14)
  • Набор команд EventRequest (15)
  • Набор команд StackFrame (16)
  • Набор команд ClassObjectReference (17)
  • Набор команд события (64)
  • Ошибочные Константы
  • Константы EventKind
  • Константы ThreadStatus
  • Константы SuspendStatus
  • Константы ClassStatus
  • Константы TypeTag
  • Константы тега
  • Константы StepDepth
  • Константы StepSize
  • Константы SuspendPolicy
  • Константы InvokeOptions

    Набор команд VirtualMachine (1)

    Команда (1) версии
    Возвращает версию JDWP, реализованную к установленному сроку VM. Формат строки версии является зависящим от реализации.
    Данные
    (Ни один)
    Данные ответа
    строкаописаниеИнформация о тексте о версии VM 
    интервалjdwpMajorГлавный Номер версии JDWP 
    интервалjdwpMinorНезначительный Номер версии JDWP 
    строкаvmVersionПредназначайтесь для VM JRE версия, как в java.version свойстве 
    строкаvmNameПредназначайтесь для имени VM, как в java.vm.name свойстве 
    Ошибочные Данные
    VM_DEADВиртуальная машина не работает. 
    Команда (2) ClassesBySignature
    Ссылочные типы возвратов для всех классов, загруженных к установленному сроку VM, которые соответствуют данную подпись. Ссылочные типы Multple будут возвращены, если два или больше загрузчика class загрузили class того же самого имени. Поиск ограничивается загруженными классами только; никакая попытка не предпринимается, чтобы загрузить class данной подписи.
    Данные
    строкаподписьПодпись JNI class, чтобы найти (например, "Ljava/lang/String;").  
    Данные ответа
    интервалклассыЧисло ссылочных типов, которые следуют. 
    Повторные времена классов:
    байтrefTypeTagВид следующего ссылочного типа.  
    referenceTypeIDидентификатор типаСоответствие загруженного ссылочного типа 
    интервалсостояниеТекущее состояние class.  
    Ошибочные Данные
    VM_DEADВиртуальная машина не работает. 
    Команда (3) AllClasses
    Ссылочные типы возвратов для всех классов, в настоящий момент загруженных к установленному сроку VM.
    Данные
    (Ни один)
    Данные ответа
    интервалклассыЧисло ссылочных типов, которые следуют. 
    Повторные времена классов:
    байтrefTypeTagВид следующего ссылочного типа.  
    referenceTypeIDидентификатор типаЗагруженный ссылочный тип 
    строкаподписьПодпись JNI загруженного ссылочного типа 
    интервалсостояниеТекущее состояние class.  
    Ошибочные Данные
    VM_DEADВиртуальная машина не работает. 
    Команда (4) AllThreads
    Возвраты все потоки, в настоящий момент рабочие в целевом VM. Возвращенный список содержит потоки, создаваемые через java.lang. Поток, все собственные потоки, присоединенные к целевому VM через JNI, и системным потокам, создаваемым к установленному сроку VM. Потоки, которые еще не были запущены и потоки, которые завершили их выполнение, не включаются в возвращенный список.
    Данные
    (Ни один)
    Данные ответа
    интервалпотокиЧисло потоков, которые следуют. 
    Повторные времена потоков:
    threadIDпотокРабочий поток 
    Ошибочные Данные
    VM_DEADВиртуальная машина не работает. 
    Команда (5) TopLevelThreadGroups
    Возвраты все группы потока, у которых нет родителя. Эта команда может использоваться в качестве первого шага в создании дерева (или деревьев) существующих групп потока.
    Данные
    (Ни один)
    Данные ответа
    интервалгруппыЧисло групп потока, которые следуют. 
    Повторные групповые времена:
    threadGroupIDгруппаВысокоуровневая группа потока 
    Ошибочные Данные
    VM_DEADВиртуальная машина не работает. 
    Расположите Команду (6)
    Лишает законной силы это зеркало виртуальной машины. Канал связи к целевому VM закрывается, и целевой VM готовится принимать другое последующее соединение от этого отладчика или другого отладчика, включая следующие задачи: Любые текущие вызовы метода, выполняющиеся в целевом VM, продолжаются после разъединения. После завершения любого такого вызова метода поток вызова продолжается от расположения, где это было первоначально остановлено.

    Ресурсы, происходящие в этом VirtualMachine (ObjectReferences, ReferenceTypes, и т.д.), станут недопустимыми.

    Данные
    (Ни один)
    Данные ответа
    (Ни один)
    Ошибочные Данные
    (Ни один)
    Команда (7) IDSizes
    Возвращает размеры непостоянно размерных типов данных в целевом VM.The, возвращенные значения указывают на число байтов, используемых идентификаторами в пакетах команды и ответа.
    Данные
    (Ни один)
    Данные ответа
    интервалfieldIDSizeразмер fieldID в байтах  
    интервалmethodIDSizeразмер methodID в байтах  
    интервалobjectIDSizeразмер objectID в байтах  
    интервалreferenceTypeIDSizeразмер referenceTypeID в байтах  
    интервалframeIDSizeразмер frameID в байтах  
    Ошибочные Данные
    VM_DEADВиртуальная машина не работает. 
    Приостановите Команду (8)
    Приостанавливает выполнение приложения, работающего в целевом VM. Весь Java распараллеливает в настоящий момент рабочий, будет приостановлен.

    В отличие от java.lang. Thread.suspend, приостанавливает и виртуальной машины и отдельных потоков, считаются. Прежде, чем поток будет работать снова, он должен быть возобновлен посредством команды резюме VM-level, или резюме на уровне потока управляют тем же самым числом раз, он был приостановлен.

    Данные
    (Ни один)
    Данные ответа
    (Ни один)
    Ошибочные Данные
    VM_DEADВиртуальная машина не работает. 
    Команда (9) резюме
    Выполнение резюме приложения после приостановить команды или события остановило это. Приостановки Виртуальной машины и отдельных потоков считаются. Если определенный поток приостанавливается n времена, он должен возобновленные n времена прежде, чем он будет продолжаться.
    Данные
    (Ни один)
    Данные ответа
    (Ни один)
    Ошибочные Данные
    (Ни один)
    Команда выхода (10)
    Завершает целевой VM с данным кодом выхода. На некоторых платформах код выхода мог бы быть усеченным, например, к младшему разряду 8 битов. Все идентификаторы, ранее возвращенные из целевого VM, становятся недопустимыми. Потоки, работающие в VM, резко завершаются. Смертельное исключение потока не выдается и наконец блокирует, не выполняются.
    Данные
    интервалкод выходакод выхода 
    Данные ответа
    (Ни один)
    Ошибочные Данные
    (Ни один)
    Команда (11) CreateString
    Создает новый строковый объект в целевом VM и возвращает его идентификатор.
    Данные
    строкаutfСимволы UTF-8, чтобы использовать в создаваемой строке.  
    Данные ответа
    stringIDstringObjectСоздаваемая строка (экземпляр java.lang. Строка)  
    Ошибочные Данные
    VM_DEADВиртуальная машина не работает. 
    Команда (12) возможностей
    Получите возможности этого VM. Возможности возвращаются как булевские переменные, каждый указывающий на присутствие или отсутствие возможности. Команды, связанные с каждой возможностью, возвратят ошибку NOT_IMPLEMENTED, если cabability не будет доступен.
    Данные
    (Ни один)
    Данные ответа
    булевcanWatchFieldModificationVM может наблюдать полевую модификацию, и поэтому это может отправить Событие Контрольной точки Модификации? 
    булевcanWatchFieldAccessVM может наблюдать доступ к полю, и поэтому это может отправить Событие Контрольной точки Доступа? 
    булевcanGetBytecodesVM может получить байт-коды данного метода?  
    булевcanGetSyntheticAttributeVM может определить, являются ли поле или метод синтетическими? (то есть, VM может определить, были ли метод или поле изобретены компилятором?)  
    булевcanGetOwnedMonitorInfoVM может получить находящиеся в собственности мониторы infornation для потока? 
    булевcanGetCurrentContendedMonitorVM может добраться, ток спорил монитор потока? 
    булевcanGetMonitorInfoVM может получить информацию монитора для данного объекта?  
    Ошибочные Данные
    VM_DEADВиртуальная машина не работает. 
    Команда (13) ClassPaths
    Получите путь к классу и bootclasspath целевого VM. Если путь к классу не определяется, возвращает пустой список. Если bootclasspath не определяется, возвращает пустой список.
    Данные
    (Ни один)
    Данные ответа
    строкаbaseDirОсновной каталог, используемый, чтобы разрешить относительные пути в любом из следующих списков. 
    интервалпути к классамЧисло путей в пути к классу. 
    Повторные времена путей к классам:
    строкапутьОдин компонент пути к классу 
    интервалbootclasspathsЧисло путей в bootclasspath. 
    Повторенные bootclasspaths времена:
    строкапутьОдин компонент bootclasspath 
    Ошибочные Данные
    VM_DEADВиртуальная машина не работает. 
    Команда (14) DisposeObjects
    Выпускает список объектных ID. Для каждого объекта в списке применяется следующее. Количество ссылок, сохраненных бэкэндом (подсчет ссылок), будет постепенно уменьшено refCnt. Если после того подсчет ссылок меньше чем или равен нулю, ID освобождается. Любые ресурсы бэкэнда, связанные с освобожденным ID, могут быть освобождены, и если сборка "мусора" была отключена для объекта, это будет повторно включено. Отправитель этой команды обещает, что никакие дальнейшие команды не будут отправлены, ссылаясь на освобожденный ID.

    Использование этой команды не требуется. Если это не будет отправлено, то ресурсы, связанные с каждым ID, будут освобождены бэкэндом в некоторое время после того, как соответствующий объект будет собран "мусор". Является самым полезным использовать эту команду, чтобы уменьшить загрузку на бэкэнде, если очень большое количество объектов было получено от бэкэнда (многочисленный массив, например), но не может быть собрано "мусор" скоро.

    ID могут быть снова использованы бэкэндом после того, как они были освобождены с этой командой. Это описание принимает подсчет ссылок, бэкэнд может использовать любую реализацию, которая работает эквивалентно.

    Данные
    интервалзапросыЧисло объекта располагает запросы, которые следуют 
    Повторные времена запросов:
    objectIDобъектОбъектный ID 
    интервалrefCntЧисло раз этот объектный ID было частью пакета, полученного от бэкэнда. Точное количество препятствует тому, чтобы объектный ID был освобожден на бэкэнде, если это - часть входящего пакета, еще обработанного фронтэндом. 
    Данные ответа
    (Ни один)
    Ошибочные Данные
    (Ни один)
    Команда (15) HoldEvents
    Говорит целевому VM прекращать отправлять события. События не отбрасываются; они сохранены, пока последующая команда ReleaseEvents не отправляется. Эта команда полезна, чтобы управлять числом событий, отправленных отладчику VM в ситуациях, где очень большие количества событий сгенерированы. В то время как мероприятия проводятся бэкэндом отладчика, выполнение приложения может быть заморожено бэкэндом отладчика, чтобы предотвратить переполнение буфера на бэкэнде. Ответы на команды никогда не сохранены и не влияются этой командой. Если мероприятия уже проводятся, эта команда игнорируется.
    Данные
    (Ни один)
    Данные ответа
    (Ни один)
    Ошибочные Данные
    (Ни один)
    Команда (16) ReleaseEvents
    Говорит целевому VM продолжать отправлять события. Эта команда используется, чтобы восстановить нормальное действие после команды HoldEvents. Если нет никакой текущей команды HoldEvents в действительности, эта команда игнорируется.
    Данные
    (Ни один)
    Данные ответа
    (Ни один)
    Ошибочные Данные
    (Ни один)
    Команда (17) CapabilitiesNew
    Получите все возможности этого VM. Возможности возвращаются как булевские переменные, каждый указывающий на присутствие или отсутствие возможности. Команды, связанные с каждой возможностью, возвратят ошибку NOT_IMPLEMENTED, если cabability не будет доступен. Начиная с версии 1.4 JDWP.
    Данные
    (Ни один)
    Данные ответа
    булевcanWatchFieldModificationVM может наблюдать полевую модификацию, и поэтому это может отправить Событие Контрольной точки Модификации? 
    булевcanWatchFieldAccessVM может наблюдать доступ к полю, и поэтому это может отправить Событие Контрольной точки Доступа? 
    булевcanGetBytecodesVM может получить байт-коды данного метода?  
    булевcanGetSyntheticAttributeVM может определить, являются ли поле или метод синтетическими? (то есть, VM может определить, были ли метод или поле изобретены компилятором?)  
    булевcanGetOwnedMonitorInfoVM может получить находящиеся в собственности мониторы infornation для потока? 
    булевcanGetCurrentContendedMonitorVM может добраться, ток спорил монитор потока? 
    булевcanGetMonitorInfoVM может получить информацию монитора для данного объекта?  
    булевcanRedefineClassesVM может пересмотреть классы? 
    булевcanAddMethodVM может добавить методы, пересматривая классы? 
    булевcanUnrestrictedlyRedefineClassesVM может пересмотреть classesin произвольные пути? 
    булевcanPopFramesVM может вытолкать стековые фреймы? 
    булевcanUseInstanceFiltersVM может фильтровать события по конкретной цели? 
    булевcanGetSourceDebugExtensionVM может получить исходное расширение отладки? 
    булевcanRequestVMDeathEventVM может запросить смертельные события VM? 
    булевcanSetDefaultStratumVM может установить слой значения по умолчанию? 
    булевcanGetInstanceInfoVM может возвратить экземпляры, количества экземпляров классов и относящихся объектов? 
    булевcanRequestMonitorEventsЗапрос VM может следить за развитием событий? 
    булевcanGetMonitorFrameInfoVM может получить мониторы с информацией глубины фрейма? 
    булевcanUseSourceNameFiltersVM может фильтровать class, готовят события исходным именем? 
    булевcanGetConstantPoolVM может возвратить постоянную информацию о пуле? 
    булевcanForceEarlyReturnVM может вызвать ранний возврат из метода? 
    булевreserved22Зарезервированный для будущей возможности 
    булевreserved23Зарезервированный для будущей возможности 
    булевreserved24Зарезервированный для будущей возможности 
    булевreserved25Зарезервированный для будущей возможности 
    булевreserved26Зарезервированный для будущей возможности 
    булевreserved27Зарезервированный для будущей возможности 
    булевreserved28Зарезервированный для будущей возможности 
    булевreserved29Зарезервированный для будущей возможности 
    булевreserved30Зарезервированный для будущей возможности 
    булевreserved31Зарезервированный для будущей возможности 
    булевreserved32Зарезервированный для будущей возможности 
    Ошибочные Данные
    VM_DEADВиртуальная машина не работает. 
    Команда (18) RedefineClasses
    Устанавливает новые определения class. Если есть активные стековые фреймы в методах пересмотренных классов в целевом VM тогда, те активные фреймы продолжают выполнять байт-коды исходного метода. Эти методы считают устаревшими - см. IsObsolete. Методы в пересмотренных классах будут использоваться для нового, вызывает в целевом VM. Исходный ID метода обращается к пересмотренному методу. Все контрольные точки в пересмотренных классах очищаются. Если сброс стековых фреймов требуется, команда PopFrames может использоваться, чтобы вытолкать фреймы с устаревшими методами.

    Требует, чтобы canRedefineClasses возможность - видела CapabilitiesNew. В дополнение к canRedefineClasses возможности у целевого VM должна быть canAddMethod возможность добавить методы, пересматривая классы, или canUnrestrictedlyRedefineClasses, чтобы пересмотреть классы произвольными способами.

    Данные
    интервалклассыЧисло ссылочных типов, которые следуют. 
    Повторные времена классов:
    referenceTypeIDrefTypeСсылочный тип. 
    интервалclassfileЧисло байтов, определяющих class (ниже) 
    Повторенные classfile времена:
    байтclassbyteбайт в JVM формат файла class. 
    Данные ответа
    (Ни один)
    Ошибочные Данные
    INVALID_CLASSОдин из refTypes не является ID ссылочного типа. 
    INVALID_OBJECTОдин из refTypes не является известным ID. 
    UNSUPPORTED_VERSIONУ файла class есть номер версии, не поддерживаемый этим VM. 
    INVALID_CLASS_FORMATВиртуальная машина, предпринятая, чтобы считать файл class и, решила, что файл уродлив или иначе не может быть интерпретирован как файл class. 
    CIRCULAR_CLASS_DEFINITIONЗацикливание было обнаружено, инициализируя class. 
    FAILS_VERIFICATIONВерификатор, обнаруженный, что файл class, хотя хорошо формирующийся, содержал своего рода внутреннюю несогласованность или проблему безопасности. 
    NAMES_DONT_MATCHИмя class, определенное в новом файле class, отличается от имени в старом объекте class. 
    NOT_IMPLEMENTEDНикакой аспект этой функциональности не реализуется (CapabilitiesNew.canRedefineClasses является ложью), 
    ADD_METHOD_NOT_IMPLEMENTEDДобавление методов не было реализовано. 
    SCHEMA_CHANGE_NOT_IMPLEMENTEDИзменение схемы не было реализовано. 
    HIERARCHY_CHANGE_NOT_IMPLEMENTEDПрямой суперкласс отличается для новой версии class, или набор непосредственно реализованных интерфейсов отличается, и canUnrestrictedlyRedefineClasses является ложью. 
    DELETE_METHOD_NOT_IMPLEMENTEDНовая версия class не объявляет метод, объявленный в старой версии class, и canUnrestrictedlyRedefineClasses является ложью. 
    CLASS_MODIFIERS_CHANGE_NOT_IMPLEMENTEDУ новой версии class есть различные модификаторы и и canUnrestrictedlyRedefineClasses является ложью. 
    METHOD_MODIFIERS_CHANGE_NOT_IMPLEMENTEDУ метода в новой версии class есть различные модификаторы, чем ее дубликат в старой версии class и и canUnrestrictedlyRedefineClasses является ложью. 
    VM_DEADВиртуальная машина не работает. 
    Команда (19) SetDefaultStratum
    Установите слой значения по умолчанию. Требует, чтобы canSetDefaultStratum возможность - видела CapabilitiesNew.
    Данные
    строкаstratumIDслой значения по умолчанию, или пустая строка, чтобы использовать значение по умолчанию ссылочного типа. 
    Данные ответа
    (Ни один)
    Ошибочные Данные
    NOT_IMPLEMENTEDФункциональность не реализуется в этой виртуальной машине. 
    VM_DEADВиртуальная машина не работает. 
    Команда (20) AllClassesWithGeneric
    Ссылочные типы возвратов для всех классов, в настоящий момент загруженных к установленному сроку VM. И подпись JNI и универсальная подпись возвращаются для каждого class. Универсальные подписи описываются в разделе атрибута подписи в Спецификации Виртуальной машины Java™. Начиная с версии 1.5 JDWP.
    Данные
    (Ни один)
    Данные ответа
    интервалклассыЧисло ссылочных типов, которые следуют. 
    Повторные времена классов:
    байтrefTypeTagВид следующего ссылочного типа.  
    referenceTypeIDидентификатор типаЗагруженный ссылочный тип 
    строкаподписьПодпись JNI загруженного ссылочного типа. 
    строкаgenericSignatureУниверсальная подпись загруженного ссылочного типа или пустой строки, если нет ни одного. 
    интервалсостояниеТекущее состояние class.  
    Ошибочные Данные
    VM_DEADВиртуальная машина не работает. 
    Команда (21) InstanceCounts
    Возвращает число экземпляров каждого ссылочного типа во входном списке. Только экземпляры, которые достижимы в целях сборки "мусора", считаются. Если ссылочный тип недопустим, eg. это был разгружен, нуль возвращается для его количества экземпляра.

    Начиная с версии 1.6 JDWP. Требует, чтобы canGetInstanceInfo возможность - видела CapabilitiesNew.

    Данные
    интервалrefTypesCountЧисло ссылочных типов, которые следуют. Должно быть неотрицательным. 
    Повторенные refTypesCount времена:
    referenceTypeIDrefTypeID ссылочного типа. 
    Данные ответа
    интервалколичестваЧисло количеств, которые следуют. 
    Повторные времена количеств:
    долгоinstanceCountЧисло экземпляров для соответствующего ссылочного типа в 'Данных'. 
    Ошибочные Данные
    ILLEGAL_ARGUMENTrefTypesCount является меньше чем нуль. 
    NOT_IMPLEMENTEDФункциональность не реализуется в этой виртуальной машине. 
    VM_DEADВиртуальная машина не работает. 

    Набор команд ReferenceType (2)

    Команда (1) подписи
    Возвращает подпись JNI ссылочного типа. Форматы подписи JNI описываются в Java Собственная Спецификация Inteface

    Для примитивных классов возвращенная подпись является подписью соответствующего типа примитива; например, "I" возвращается как подпись class, представленного java.lang. Целое число. ВВЕСТИ.

    Данные
    referenceTypeIDrefTypeID ссылочного типа. 
    Данные ответа
    строкаподписьПодпись JNI для ссылочного типа. 
    Ошибочные Данные
    INVALID_CLASSrefType не является ID ссылочного типа. 
    INVALID_OBJECTrefType не является известным ID. 
    VM_DEADВиртуальная машина не работает. 
    Команда (2) ClassLoder
    Возвращает экземпляр java.lang. ClassLoder, который загрузил данный ссылочный тип. Если ссылочный тип был загружен системой загрузчик class, возвращенный объектный ID является нулем.
    Данные
    referenceTypeIDrefTypeID ссылочного типа. 
    Данные ответа
    classLoaderIDclassLoaderЗагрузчик class для ссылочного типа.  
    Ошибочные Данные
    INVALID_CLASSrefType не является ID ссылочного типа. 
    INVALID_OBJECTrefType не является известным ID. 
    VM_DEADВиртуальная машина не работает. 
    Команда (3) модификаторов
    Возвращает модификаторы (также известный как флаги доступа) для ссылочного типа. Возвращенная битовая маска содержит информацию об объявлении ссылочного типа. Если ссылочный тип является массивом или примитивным class (например, java.lang. Целое число. ВВЕДИТЕ), значение возвращенной битовой маски неопределено.
    Данные
    referenceTypeIDrefTypeID ссылочного типа. 
    Данные ответа
    интервалmodBitsБиты модификатора как определено в Главе 4 Спецификации Виртуальной машины Java™ 
    Ошибочные Данные
    INVALID_CLASSrefType не является ID ссылочного типа. 
    INVALID_OBJECTrefType не является известным ID. 
    VM_DEADВиртуальная машина не работает. 
    Полевая Команда (4)
    Информация о возвратах для каждого поля в ссылочном типе. Наследованные поля не включаются. Cписок полей будет включать любые синтетические поля, создаваемые компилятором. Поля возвращаются в порядке, они происходят в файле class.
    Данные
    referenceTypeIDrefTypeID ссылочного типа. 
    Данные ответа
    интервалобъявленныйЧисло объявленных полей. 
    Повторенные объявленные времена:
    fieldIDfieldIDПолевой ID. 
    строкаимяИмя поля. 
    строкаподписьПодпись JNI поля. 
    интервалmodBitsБитовые флаги модификатора (также известный как флаги доступа), которые обеспечивают дополнительную информацию о полевом объявлении. Отдельные флаговые значения определяются в Главе 4 Спецификации Виртуальной машины Java™. Кроме того, 0xf0000000 бит идентифицирует поле как синтетическое, если синтетическая возможность атрибута доступна. 
    Ошибочные Данные
    CLASS_NOT_PREPAREDКласс был загружен, но еще не подготовлен. 
    INVALID_CLASSrefType не является ID ссылочного типа. 
    INVALID_OBJECTrefType не является известным ID. 
    VM_DEADВиртуальная машина не работает. 
    Команда (5) методов
    Информация о возвратах для каждого метода в ссылочном типе. Наследованные методы не включаются. Список методов будет включать конструкторов (идентифицированный с именем" <init>"), метод инициализации (идентифицированный с именем" <clinit>") если существующий, и любые синтетические методы, создаваемые компилятором. Методы возвращаются в порядке, они происходят в файле class.
    Данные
    referenceTypeIDrefTypeID ссылочного типа. 
    Данные ответа
    интервалобъявленныйЧисло объявленных методов. 
    Повторенные объявленные времена:
    methodIDmethodIDID метода. 
    строкаимяИмя метода. 
    строкаподписьПодпись JNI метода. 
    интервалmodBitsБитовые флаги модификатора (также известный как флаги доступа), которые обеспечивают дополнительную информацию об объявлении метода. Отдельные флаговые значения определяются в Главе 4 Спецификации Виртуальной машины Java™. Кроме того, 0xf0000000 бит идентифицирует метод как синтетический, если синтетическая возможность атрибута доступна. 
    Ошибочные Данные
    CLASS_NOT_PREPAREDКласс был загружен, но еще не подготовлен. 
    INVALID_CLASSrefType не является ID ссылочного типа. 
    INVALID_OBJECTrefType не является известным ID. 
    VM_DEADВиртуальная машина не работает. 
    Команда (6) GetValues
    Возвращает значение одного или более статических полей ссылочного типа. Каждое поле должно быть элементом ссылочного типа или одним из его суперклассов, суперинтерфейсов, или реализованных интерфейсов. Управление доступом не осуществляется; например, значения частных полей могут быть получены.
    Данные
    referenceTypeIDrefTypeID ссылочного типа. 
    интервалполяЧисло значений, чтобы добраться 
    Повторные полевые времена:
    fieldIDfieldIDПоле, чтобы добраться 
    Данные ответа
    интервалзначенияЧисло значений возвратилось, всегда равный полям, числу значений, чтобы добраться. 
    Повторные времена значений:
    значениезначениеЗначение поля 
    Ошибочные Данные
    INVALID_CLASSrefType не является ID ссылочного типа. 
    INVALID_OBJECTrefType не является известным ID. 
    INVALID_FIELDIDНедопустимое поле. 
    VM_DEADВиртуальная машина не работает. 
    Команда (7) SourceFile
    Возвращает имя исходного файла, в котором был объявлен ссылочный тип.
    Данные
    referenceTypeIDrefTypeID ссылочного типа. 
    Данные ответа
    строкаисходный файлИмя исходного файла. Никакая информация о пути для файла не включается 
    Ошибочные Данные
    INVALID_CLASSrefType не является ID ссылочного типа. 
    INVALID_OBJECTrefType не является известным ID. 
    ABSENT_INFORMATIONАтрибут исходного файла отсутствует. 
    VM_DEADВиртуальная машина не работает. 
    Команда (8) NestedTypes
    Возвращает классы и интерфейсы, непосредственно вложенные в пределах этого типа. Типы, далее вложенные в пределах тех типов, не включаются.
    Данные
    referenceTypeIDrefTypeID ссылочного типа. 
    Данные ответа
    интервалклассыЧисло вложенных классов и интерфейсов 
    Повторные времена классов:
    байтrefTypeTagВид следующего ссылочного типа.  
    referenceTypeIDидентификатор типаВложенный class или ID интерфейса. 
    Ошибочные Данные
    INVALID_CLASSrefType не является ID ссылочного типа. 
    INVALID_OBJECTrefType не является известным ID. 
    VM_DEADВиртуальная машина не работает. 
    Команда (9) состояния
    Возвращает текущий статус ссылочного типа. Состояние указывает на степень, до которой ссылочный тип был инициализирован, как описано в разделе 2.1.6 из Спецификации Виртуальной машины Java™. Если class будет соединен, то ГОТОВЫЕ и ПРОВЕРЕННЫЕ биты в возвращенных битах состояния будут установлены. Если class будет инициализирован, то ИНИЦИАЛИЗИРОВАННЫЙ бит в возвращенных битах состояния будет установлен. Если ошибка произошла во время инициализации тогда, БИТ ОШИБКИ в возвращенных битах состояния будет установлен. Возвращенные биты состояния неопределены для типов массива и для примитивных классов (таких как java.lang. Целое число. ВВЕДИТЕ).
    Данные
    referenceTypeIDrefTypeID ссылочного типа. 
    Данные ответа
    интервалсостояниеСостояние bits:See JDWP.ClassStatus 
    Ошибочные Данные
    INVALID_CLASSrefType не является ID ссылочного типа. 
    INVALID_OBJECTrefType не является известным ID. 
    VM_DEADВиртуальная машина не работает. 
    Команда (10) интерфейсов
    Возвращает интерфейсы, объявленные как реализовано этим class. Интерфейсы, косвенно реализованные (расширенный реализованным интерфейсом или реализованный суперклассом), не включаются.
    Данные
    referenceTypeIDrefTypeID ссылочного типа. 
    Данные ответа
    интервалинтерфейсыЧисло реализованных интерфейсов 
    Повторные времена интерфейсов:
    interfaceIDinterfaceTypeреализованный интерфейс. 
    Ошибочные Данные
    INVALID_CLASSrefType не является ID ссылочного типа. 
    INVALID_OBJECTrefType не является известным ID. 
    VM_DEADВиртуальная машина не работает. 
    Команда (11) ClassObject
    Возвращает объект class, соответствующий этому типу.
    Данные
    referenceTypeIDrefTypeID ссылочного типа. 
    Данные ответа
    classObjectIDclassObjectОбъект class. 
    Ошибочные Данные
    INVALID_CLASSrefType не является ID ссылочного типа. 
    INVALID_OBJECTrefType не является известным ID. 
    VM_DEADВиртуальная машина не работает. 
    Команда (12) SourceDebugExtension
    Возвращает значение атрибута SourceDebugExtension. Начиная с версии 1.4 JDWP. Требует, чтобы canGetSourceDebugExtension возможность - видела CapabilitiesNew.
    Данные
    referenceTypeIDrefTypeID ссылочного типа. 
    Данные ответа
    строкарасширениеатрибут расширения 
    Ошибочные Данные
    INVALID_CLASSrefType не является ID ссылочного типа. 
    INVALID_OBJECTrefType не является известным ID. 
    ABSENT_INFORMATIONЕсли расширение не определяется. 
    NOT_IMPLEMENTEDФункциональность не реализуется в этой виртуальной машине. 
    VM_DEADВиртуальная машина не работает. 
    Команда (13) SignatureWithGeneric
    Возвращает подпись JNI ссылочного типа наряду с универсальной подписью, если есть тот. Универсальные подписи описываются в разделе атрибута подписи в Спецификации Виртуальной машины Java™. Начиная с версии 1.5 JDWP.

    Данные
    referenceTypeIDrefTypeID ссылочного типа. 
    Данные ответа
    строкаподписьПодпись JNI для ссылочного типа. 
    строкаgenericSignatureУниверсальная подпись для ссылочного типа или пустой строки, если нет ни одного. 
    Ошибочные Данные
    INVALID_CLASSrefType не является ID ссылочного типа. 
    INVALID_OBJECTrefType не является известным ID. 
    VM_DEADВиртуальная машина не работает. 
    Команда (14) FieldsWithGeneric
    Информация о возвратах, включая универсальную подпись если таковые вообще имеются, для каждого поля в ссылочном типе. Наследованные поля не включаются. Cписок полей будет включать любые синтетические поля, создаваемые компилятором. Поля возвращаются в порядке, они происходят в файле class. Универсальные подписи описываются в разделе атрибута подписи в Спецификации Виртуальной машины Java™. Начиная с версии 1.5 JDWP.
    Данные
    referenceTypeIDrefTypeID ссылочного типа. 
    Данные ответа
    интервалобъявленныйЧисло объявленных полей. 
    Повторенные объявленные времена:
    fieldIDfieldIDПолевой ID. 
    строкаимяИмя поля. 
    строкаподписьПодпись JNI поля. 
    строкаgenericSignatureУниверсальная подпись поля, или пустая строка, если нет ни одного. 
    интервалmodBitsБитовые флаги модификатора (также известный как флаги доступа), которые обеспечивают дополнительную информацию о полевом объявлении. Отдельные флаговые значения определяются в Главе 4 Спецификации Виртуальной машины Java™. Кроме того, 0xf0000000 бит идентифицирует поле как синтетическое, если синтетическая возможность атрибута доступна. 
    Ошибочные Данные
    CLASS_NOT_PREPAREDКласс был загружен, но еще не подготовлен. 
    INVALID_CLASSrefType не является ID ссылочного типа. 
    INVALID_OBJECTrefType не является известным ID. 
    VM_DEADВиртуальная машина не работает. 
    Команда (15) MethodsWithGeneric
    Информация о возвратах, включая универсальную подпись если таковые вообще имеются, для каждого метода в ссылочном типе. Наследованные methodss не включаются. Список методов будет включать конструкторов (идентифицированный с именем" <init>"), метод инициализации (идентифицированный с именем" <clinit>") если существующий, и любые синтетические методы, создаваемые компилятором. Методы возвращаются в порядке, они происходят в файле class. Универсальные подписи описываются в разделе атрибута подписи в Спецификации Виртуальной машины Java™. Начиная с версии 1.5 JDWP.
    Данные
    referenceTypeIDrefTypeID ссылочного типа. 
    Данные ответа
    интервалобъявленныйЧисло объявленных методов. 
    Повторенные объявленные времена:
    methodIDmethodIDID метода. 
    строкаимяИмя метода. 
    строкаподписьПодпись JNI метода. 
    строкаgenericSignatureУниверсальная подпись метода, или пустая строка, если нет ни одного. 
    интервалmodBitsБитовые флаги модификатора (также известный как флаги доступа), которые обеспечивают дополнительную информацию об объявлении метода. Отдельные флаговые значения определяются в Главе 4 Спецификации Виртуальной машины Java™. Кроме того, 0xf0000000 бит идентифицирует метод как синтетический, если синтетическая возможность атрибута доступна. 
    Ошибочные Данные
    CLASS_NOT_PREPAREDКласс был загружен, но еще не подготовлен. 
    INVALID_CLASSrefType не является ID ссылочного типа. 
    INVALID_OBJECTrefType не является известным ID. 
    VM_DEADВиртуальная машина не работает. 
    Команда (16) экземпляров
    Экземпляры возвратов этого ссылочного типа. Только экземпляры, которые достижимы в целях сборки "мусора", возвращаются.

    Начиная с версии 1.6 JDWP. Требует, чтобы canGetInstanceInfo возможность - видела CapabilitiesNew.

    Данные
    referenceTypeIDrefTypeID ссылочного типа. 
    интервалmaxInstancesМаксимальное количество экземпляров, чтобы возвратиться. Должно быть неотрицательным. Если нуль, все экземпляры возвращаются. 
    Данные ответа
    интервалэкземплярыЧисло экземпляров, которые следуют. 
    Повторные времена экземпляров:
    теговый-objectIDэкземплярЭкземпляр этого ссылочного типа. 
    Ошибочные Данные
    INVALID_CLASSrefType не является ID ссылочного типа. 
    INVALID_OBJECTrefType не является известным ID. 
    ILLEGAL_ARGUMENTmaxInstances является меньше чем нуль. 
    NOT_IMPLEMENTEDФункциональность не реализуется в этой виртуальной машине. 
    VM_DEADВиртуальная машина не работает. 
    Команда (17) ClassFileVersion
    Возвращает номера основной версии файла class и номера вспомогательной версии, как определено в формате файла class спецификации виртуальной машины Java.

    Начиная с версии 1.6 JDWP.

    Данные
    referenceTypeIDrefTypeclass. 
    Данные ответа
    интервалmajorVersionНомер основной версии 
    интервалminorVersionНомер вспомогательной версии 
    Ошибочные Данные
    INVALID_CLASSrefType не является ID ссылочного типа. 
    INVALID_OBJECTrefType не является известным ID. 
    ABSENT_INFORMATIONИнформация о версии файла class отсутствует для типов массива и примитивного. 
    VM_DEADВиртуальная машина не работает. 
    Команда (18) ConstantPool
    Возвратите необработанные байты постоянного пула в формате constant_pool элемента Формата файла Класса в Спецификации Виртуальной машины Java™.

    Начиная с версии 1.6 JDWP. Требует, чтобы canGetConstantPool возможность - видела CapabilitiesNew.

    Данные
    referenceTypeIDrefTypeclass. 
    Данные ответа
    интервалколичествоОбщее количество постоянных записей пула плюс один. Это соответствует constant_pool_count элементу Формата файла Класса в Спецификации Виртуальной машины Java™.  
    интервалбайты 
    Повторные времена байтов:
    байтcpbytesНеобработанные байты постоянного пула 
    Ошибочные Данные
    INVALID_CLASSrefType не является ID ссылочного типа. 
    INVALID_OBJECTrefType не является известным ID. 
    NOT_IMPLEMENTEDЕсли целевая виртуальная машина не поддерживает извлечение постоянной информации о пуле. 
    ABSENT_INFORMATIONПостоянная информация о Пуле отсутствует для типов массива и примитивного. 
    VM_DEADВиртуальная машина не работает. 

    Набор команд ClassType (3)

    Команда (1) суперкласса
    Возвращает непосредственный суперкласс class.
    Данные
    classIDclazzИдентификатор типа class. 
    Данные ответа
    classIDсуперклассСуперкласс (нуль, если ID class для java.lang. Объект определяется). 
    Ошибочные Данные
    INVALID_CLASSclazz не является ID class. 
    INVALID_OBJECTclazz не является известным ID. 
    VM_DEADВиртуальная машина не работает. 
    Команда (2) SetValues
    Устанавливает значение одного или более статических полей. Каждое поле должно быть элементом типа class или одним из его суперклассов, суперинтерфейсов, или реализованных интерфейсов. Управление доступом не осуществляется; например, значения частных полей могут быть установлены. Заключительные поля не могут быть установлены. Для примитивных значений тип значения должен соответствовать тип поля точно. Для объектных значений, там должен существовать должно быть загружено, расширяющееся ссылочное преобразование от типа значения до типа поля и типа поля.
    Данные
    classIDclazzИдентификатор типа class. 
    интервалзначенияЧисло полей, чтобы установить. 
    Повторные времена значений:
    fieldIDfieldIDПоле, чтобы установить. 
    нетегировать-значениезначениеЗначение, чтобы вставить поле. 
    Данные ответа
    (Ни один)
    Ошибочные Данные
    INVALID_CLASSclazz не является ID class. 
    CLASS_NOT_PREPAREDКласс был загружен, но еще не подготовлен. 
    INVALID_OBJECTclazz не является известным ID, или значение объектного поля не является известным ID. 
    INVALID_FIELDIDНедопустимое поле. 
    VM_DEADВиртуальная машина не работает. 
    Команда (3) InvokeMethod
    Вызывает статический метод. Метод должен быть элементом типа class или одним из его суперклассов, суперинтерфейсов, или реализованных интерфейсов. Управление доступом не осуществляется; например, закрытые методы могут быть вызваны.

    Вызов метода произойдет в указанном потоке. Вызов метода может произойти, только если указанный поток был приостановлен событием. Вызов метода не поддерживается, когда целевой VM был приостановлен фронтэндом.

    Указанный метод вызывается с параметрами в указанном списке параметров. Вызов метода синхронен; пакет ответа не отправляется до вызванных возвратов метода в целевом VM. Возвращаемое значение (возможно пустое значение) включается в пакет ответа. Если вызванный метод выдает исключение, ID объекта исключения устанавливается в пакете ответа; иначе, ID объекта исключения является нулем.

    Для примитивных параметров тип значения аргумента должен соответствовать тип параметра точно. Для объектных параметров, там должен существовать должно быть загружено, расширяющееся ссылочное преобразование от типа значения аргумента до типа параметра и типа параметра.

    По умолчанию все потоки в целевом VM возобновляются, в то время как метод вызывается, если они были ранее приостановлены событием или командой. Это делается, чтобы предотвратить мертвые блокировки, которые произойдут, если какому-либо из потоков будут принадлежать мониторы, которые будут необходимы вызванному методу. Возможно, что контрольные точки или другие события могли бы произойти во время вызова. Отметьте, однако, что это неявное резюме действует точно как команда резюме ThreadReference, так, если поток приостанавливает количество, больше чем 1, это останется в состоянии ожидания во время вызова. По умолчанию, когда вызов завершается, все потоки в целевом VM приостанавливаются, независимо их состояние перед вызовом.

    Возобновление других потоков во время вызывания может быть предотвращено, определяя битовый флаг INVOKE_SINGLE_THREADED в options поле; однако, нет никакой защиты от или восстановления после мертвых блокировок, описанных выше, таким образом, эта опция должна использоваться с большим предостережением. Только указанный поток будет возобновлен (как описано для всех потоков выше). После завершения поточного сингла вызывают, поток вызова будет приостановлен еще раз. Отметьте, что любые потоки, запущенные во время единственного поточного вызова, не будут приостановлены, когда вызов завершится.

    Если целевой VM разъединяется во время вызывания (например, через VirtualMachine располагают команду), вызов метода продолжается.

    Данные
    classIDclazzИдентификатор типа class. 
    threadIDпотокПоток, в котором можно вызвать. 
    methodIDmethodIDМетод, чтобы вызвать. 
    интервалпараметры 
    Повторные времена параметров:
    значениеаргументЗначение аргумента. 
    интервалопцииОпции вызова 
    Данные ответа
    значениеreturnValueВозвращенное значение. 
    теговый-objectIDисключениеВыданное исключение. 
    Ошибочные Данные
    INVALID_CLASSclazz не является ID class. 
    INVALID_OBJECTclazz не является известным ID. 
    INVALID_METHODIDmethodID не является ID метода. 
    INVALID_THREADПереданный поток является нулем, не является допустимым потоком или вышел. 
    THREAD_NOT_SUSPENDEDЕсли указанный поток не был приостановлен событием. 
    VM_DEADВиртуальная машина не работает. 
    Команда (4) NewInstance
    Создает новый объект этого типа, вызывая указанного конструктора. ID метода конструктора должен быть элементом типа class.

    Создание экземпляра произойдет в указанном потоке. Создание экземпляра может произойти, только если указанный поток был приостановлен событием. Вызов метода не поддерживается, когда целевой VM был приостановлен фронтэндом.

    Указанный конструктор вызывается с параметрами в указанном списке параметров. Вызов конструктора синхронен; пакет ответа не отправляется до вызванных возвратов метода в целевом VM. Возвращаемое значение (возможно пустое значение) включается в пакет ответа. Если конструктор выдает исключение, ID объекта исключения устанавливается в пакете ответа; иначе, ID объекта исключения является нулем.

    Для примитивных параметров тип значения аргумента должен соответствовать тип параметра точно. Для объектных параметров, там должен существовать должно быть загружено, расширяющееся ссылочное преобразование от типа значения аргумента до типа параметра и типа параметра.

    По умолчанию все потоки в целевом VM возобновляются, в то время как метод вызывается, если они были ранее приостановлены событием или командой. Это делается, чтобы предотвратить мертвые блокировки, которые произойдут, если какому-либо из потоков будут принадлежать мониторы, которые будут необходимы вызванному методу. Возможно, что контрольные точки или другие события могли бы произойти во время вызова. Отметьте, однако, что это неявное резюме действует точно как команда резюме ThreadReference, так, если поток приостанавливает количество, больше чем 1, это останется в состоянии ожидания во время вызова. По умолчанию, когда вызов завершается, все потоки в целевом VM приостанавливаются, независимо их состояние перед вызовом.

    Возобновление других потоков во время вызывания может быть предотвращено, определяя битовый флаг INVOKE_SINGLE_THREADED в options поле; однако, нет никакой защиты от или восстановления после мертвых блокировок, описанных выше, таким образом, эта опция должна использоваться с большим предостережением. Только указанный поток будет возобновлен (как описано для всех потоков выше). После завершения поточного сингла вызывают, поток вызова будет приостановлен еще раз. Отметьте, что любые потоки, запущенные во время единственного поточного вызова, не будут приостановлены, когда вызов завершится.

    Если целевой VM разъединяется во время вызывания (например, через VirtualMachine располагают команду), вызов метода продолжается.

    Данные
    classIDclazzИдентификатор типа class. 
    threadIDпотокПоток, в котором можно вызвать конструктора. 
    methodIDmethodIDКонструктор, чтобы вызвать. 
    интервалпараметры 
    Повторные времена параметров:
    значениеаргументЗначение аргумента. 
    интервалопцииОпции вызова конструктора 
    Данные ответа
    теговый-objectIDnewObjectНедавно создаваемый объект, или нуль, если конструктор выдавал исключение. 
    теговый-objectIDисключениеВыданное исключение, если любой; иначе, нуль. 
    Ошибочные Данные
    INVALID_CLASSclazz не является ID class. 
    INVALID_OBJECTclazz не является известным ID, или значение объектного параметра не является известным ID.. 
    INVALID_METHODIDmethodID не является ID метода. 
    INVALID_OBJECTЕсли этот ссылочный тип был разгружен и собрал "мусор". 
    INVALID_THREADПереданный поток является нулем, не является допустимым потоком или вышел. 
    THREAD_NOT_SUSPENDEDЕсли указанный поток не был приостановлен событием. 
    VM_DEADВиртуальная машина не работает. 

    Набор команд ArrayType (4)

    Команда (1) NewInstance
    Создает новый объект массива этого типа с данной длиной.
    Данные
    arrayTypeIDarrTypeТип массива нового экземпляра. 
    интервалдлинаДлина массива. 
    Данные ответа
    теговый-objectIDnewArrayНедавно создаваемый объект массива.  
    Ошибочные Данные
    INVALID_ARRAYМассив недопустим. 
    INVALID_OBJECTЕсли этот ссылочный тип был разгружен и собрал "мусор". 
    VM_DEADВиртуальная машина не работает. 

    Набор команд InterfaceType (5)

    Набор команд метода (6)

    Команда (1) LineTable
    Информация о номере строки возвратов для метода, если существующий. Таблица строки отображает исходные номера строки на начальный индекс кода строки. Таблица строки упорядочивается индексом кода (от самого низкого до самого высокого). Информация о номере строки является постоянной, если новое определение class не устанавливается, используя RedefineClasses.
    Данные
    referenceTypeIDrefTypeclass. 
    methodIDmethodIDМетод. 
    Данные ответа
    долгозапуститьСамый низкий допустимый индекс кода для метода,> =0, или-1, если метод является собственным  
    долгоконецСамый высокий допустимый индекс кода для метода,> =0, или-1, если метод является собственным 
    интервалстрокиЧисло записей в таблице строки для этого метода. 
    Повторные времена строк:
    долгоlineCodeIndexНачальный индекс кода строки, запустить <= lineCodeIndex < end 
    интервалlineNumberНомер строки. 
    Ошибочные Данные
    INVALID_CLASSrefType не является ID ссылочного типа. 
    INVALID_OBJECTrefType не является известным ID. 
    INVALID_METHODIDmethodID не является ID метода. 
    VM_DEADВиртуальная машина не работает. 
    Команда (2) VariableTable
    Информация о переменной возвратов для метода. Переменная таблица включает параметры и локальные переменные, объявленные в пределах метода. Например методы, "эта" ссылка включается в таблицу. Кроме того, могут присутствовать синтетические переменные.
    Данные
    referenceTypeIDrefTypeclass. 
    methodIDmethodIDМетод. 
    Данные ответа
    интервалargCntЧисло слов во фрейме используется параметрами. Восьмибайтовые параметры используют два слова; все другие используют тот.  
    интервалслотыЧисло переменных. 
    Повторные времена слотов:
    долгоиндекс кодаПервый индекс кода, в котором переменная видима (без знака). Используемый в соединении с length. Переменная может быть, получают или устанавливают только когда ток codeIndex <= current frame code index < индексируйте + длина  
    строкаимяИмя переменной. 
    строкаподписьПодпись JNI типа переменной. 
    интервалдлинаЗначение без знака, используемое в соединении с codeIndex. Переменная может быть, получают или устанавливают только когда ток codeIndex <= current frame code index < индекс кода + длина  
    интервалслотЛокальная переменная индексирует в ее фрейме 
    Ошибочные Данные
    INVALID_CLASSrefType не является ID ссылочного типа. 
    INVALID_OBJECTrefType не является известным ID. 
    INVALID_METHODIDmethodID не является ID метода. 
    ABSENT_INFORMATIONнет никакой переменной информации для метода. 
    VM_DEADВиртуальная машина не работает. 
    Команда (3) байт-кодов
    Получите байт-коды метода как определено в Спецификации Виртуальной машины Java™. Требует, чтобы canGetBytecodes возможность - видела CapabilitiesNew.
    Данные
    referenceTypeIDrefTypeclass. 
    methodIDmethodIDМетод. 
    Данные ответа
    интервалбайты 
    Повторные времена байтов:
    байтбайт-кодБайт-код Java. 
    Ошибочные Данные
    INVALID_CLASSrefType не является ID ссылочного типа. 
    INVALID_OBJECTrefType не является известным ID. 
    INVALID_METHODIDmethodID не является ID метода. 
    NOT_IMPLEMENTEDЕсли целевая виртуальная машина не поддерживает извлечение байт-кодов. 
    VM_DEADВиртуальная машина не работает. 
    Команда (4) IsObsolete
    Определите, является ли этот метод устаревшим. Метод является устаревшим, если он был заменен неэквивалентным методом, используя команду RedefineClasses. Исходные и пересмотренные методы считают эквивалентными, если их байт-коды являются тем же самым за исключением индексов в постоянный пул, и константы, на которые ссылаются, равны.
    Данные
    referenceTypeIDrefTypeclass. 
    methodIDmethodIDМетод. 
    Данные ответа
    булевisObsoleteистина, если этот метод был replacedby неэквивалентный метод usingthe команда RedefineClasses. 
    Ошибочные Данные
    INVALID_CLASSrefType не является ID ссылочного типа. 
    INVALID_OBJECTrefType не является известным ID. 
    INVALID_METHODIDmethodID не является ID метода. 
    NOT_IMPLEMENTEDЕсли целевая виртуальная машина не поддерживает этот запрос. 
    VM_DEADВиртуальная машина не работает. 
    Команда (5) VariableTableWithGeneric
    Информация о переменной возвратов для метода, включая универсальные подписи для переменных. Переменная таблица включает параметры и локальные переменные, объявленные в пределах метода. Например методы, "эта" ссылка включается в таблицу. Кроме того, могут присутствовать синтетические переменные. Универсальные подписи описываются в разделе атрибута подписи в Спецификации Виртуальной машины Java™. Начиная с версии 1.5 JDWP.
    Данные
    referenceTypeIDrefTypeclass. 
    methodIDmethodIDМетод. 
    Данные ответа
    интервалargCntЧисло слов во фрейме используется параметрами. Восьмибайтовые параметры используют два слова; все другие используют тот.  
    интервалслотыЧисло переменных. 
    Повторные времена слотов:
    долгоиндекс кодаПервый индекс кода, в котором переменная видима (без знака). Используемый в соединении с length. Переменная может быть, получают или устанавливают только когда ток codeIndex <= current frame code index < индексируйте + длина  
    строкаимяИмя переменной. 
    строкаподписьПодпись JNI типа переменной. 
    строкаgenericSignatureУниверсальная подпись типа переменной или пустая строка, если нет ни одного. 
    интервалдлинаЗначение без знака, используемое в соединении с codeIndex. Переменная может быть, получают или устанавливают только когда ток codeIndex <= current frame code index < индекс кода + длина  
    интервалслотЛокальная переменная индексирует в ее фрейме 
    Ошибочные Данные
    INVALID_CLASSrefType не является ID ссылочного типа. 
    INVALID_OBJECTrefType не является известным ID. 
    INVALID_METHODIDmethodID не является ID метода. 
    ABSENT_INFORMATIONнет никакой переменной информации для метода. 
    VM_DEADВиртуальная машина не работает. 

    Полевой Набор команд (8)

    Набор команд ObjectReference (9)

    Команда (1) ReferenceType
    Возвращает тип времени выполнения объекта. Типом времени выполнения будет class или массив.
    Данные
    objectIDобъектОбъектный ID 
    Данные ответа
    байтrefTypeTagВид следующего ссылочного типа.  
    referenceTypeIDидентификатор типаСсылочный тип времени выполнения. 
    Ошибочные Данные
    INVALID_OBJECTЕсли этот ссылочный тип был разгружен и собрал "мусор". 
    VM_DEADВиртуальная машина не работает. 
    Команда (2) GetValues
    Возвращает значение одного или более полей экземпляра. Каждое поле должно быть элементом типа объекта или одним из его суперклассов, суперинтерфейсов, или реализованных интерфейсов. Управление доступом не осуществляется; например, значения частных полей могут быть получены.
    Данные
    objectIDобъектОбъектный ID 
    интервалполяЧисло значений, чтобы добраться 
    Повторные полевые времена:
    fieldIDfieldIDПоле, чтобы добраться. 
    Данные ответа
    интервалзначенияЧисло значений возвратилось, всегда равный 'полям', числу значений, чтобы добраться. Значения полей упорядочиваются в ответе в том же самом порядке как соответствующий fieldIDs в команде. 
    Повторные времена значений:
    значениезначениеЗначение поля 
    Ошибочные Данные
    INVALID_OBJECTЕсли этот ссылочный тип был разгружен и собрал "мусор". 
    INVALID_FIELDIDНедопустимое поле. 
    VM_DEADВиртуальная машина не работает. 
    Команда (3) SetValues
    Устанавливает значение одного или более полей экземпляра. Каждое поле должно быть элементом типа объекта или одним из его суперклассов, суперинтерфейсов, или реализованных интерфейсов. Управление доступом не осуществляется; например, значения частных полей могут быть установлены. Для примитивных значений тип значения должен соответствовать тип поля точно. Для объектных значений должно быть расширяющееся ссылочное преобразование от типа значения до типа поля, и тип поля должен быть загружен.
    Данные
    objectIDобъектОбъектный ID 
    интервалзначенияЧисло полей, чтобы установить. 
    Повторные времена значений:
    fieldIDfieldIDПоле, чтобы установить. 
    нетегировать-значениезначениеЗначение, чтобы вставить поле. 
    Данные ответа
    (Ни один)
    Ошибочные Данные
    INVALID_OBJECTЕсли этот ссылочный тип был разгружен и собрал "мусор". 
    INVALID_FIELDIDНедопустимое поле. 
    VM_DEADВиртуальная машина не работает. 
    Команда (5) MonitorInfo
    Возвраты контролируют информацию для объекта. Весь интервал потоков VM должен быть приостановлен. Требует, чтобы canGetMonitorInfo возможность - видела CapabilitiesNew.
    Данные
    objectIDобъектОбъектный ID 
    Данные ответа
    threadIDвладелецВладелец монитора, или нуль, если это в настоящий момент не принадлежит. 
    интервалentryCountЧисло раз монитор было введено. 
    интервалофициантыЧисло потоков, которые ожидают монитора 0, если нет никакого текущего владельца 
    Повторные времена официантов:
    threadIDпотокПоток, ожидающий этого монитора. 
    Ошибочные Данные
    INVALID_OBJECTЕсли этот ссылочный тип был разгружен и собрал "мусор". 
    NOT_IMPLEMENTEDФункциональность не реализуется в этой виртуальной машине. 
    VM_DEADВиртуальная машина не работает. 
    Команда (6) InvokeMethod
    Вызывает метод экземпляра. Метод должен быть элементом типа объекта или одним из его суперклассов, суперинтерфейсов, или реализованных интерфейсов. Управление доступом не осуществляется; например, закрытые методы могут быть вызваны.

    Вызов метода произойдет в указанном потоке. Вызов метода может произойти, только если указанный поток был приостановлен событием. Вызов метода не поддерживается, когда целевой VM был приостановлен фронтэндом.

    Указанный метод вызывается с параметрами в указанном списке параметров. Вызов метода синхронен; пакет ответа не отправляется до вызванных возвратов метода в целевом VM. Возвращаемое значение (возможно пустое значение) включается в пакет ответа. Если вызванный метод выдает исключение, ID объекта исключения устанавливается в пакете ответа; иначе, ID объекта исключения является нулем.

    Для примитивных параметров тип значения аргумента должен соответствовать тип параметра точно. Для объектных параметров должно быть расширяющееся ссылочное преобразование от типа значения аргумента до типа параметра, и тип параметра должен быть загружен.

    По умолчанию все потоки в целевом VM возобновляются, в то время как метод вызывается, если они были ранее приостановлены событием или командой. Это делается, чтобы предотвратить мертвые блокировки, которые произойдут, если какому-либо из потоков будут принадлежать мониторы, которые будут необходимы вызванному методу. Возможно, что контрольные точки или другие события могли бы произойти во время вызова. Отметьте, однако, что это неявное резюме действует точно как команда резюме ThreadReference, так, если поток приостанавливает количество, больше чем 1, это останется в состоянии ожидания во время вызова. По умолчанию, когда вызов завершается, все потоки в целевом VM приостанавливаются, независимо их состояние перед вызовом.

    Возобновление других потоков во время вызывания может быть предотвращено, определяя битовый флаг INVOKE_SINGLE_THREADED в options поле; однако, нет никакой защиты от или восстановления после мертвых блокировок, описанных выше, таким образом, эта опция должна использоваться с большим предостережением. Только указанный поток будет возобновлен (как описано для всех потоков выше). После завершения поточного сингла вызывают, поток вызова будет приостановлен еще раз. Отметьте, что любые потоки, запущенные во время единственного поточного вызова, не будут приостановлены, когда вызов завершится.

    Если целевой VM разъединяется во время вызывания (например, через VirtualMachine располагают команду), вызов метода продолжается.

    Данные
    objectIDобъектОбъектный ID 
    threadIDпотокПоток, в котором можно вызвать. 
    classIDclazzТип class. 
    methodIDmethodIDМетод, чтобы вызвать. 
    интервалпараметрыЧисло параметров. 
    Повторные времена параметров:
    значениеаргументЗначение аргумента. 
    интервалопцииОпции вызова 
    Данные ответа
    значениеreturnValueВозвращенное значение, или нуль, если исключение выдается. 
    теговый-objectIDисключениеВыданное исключение, если любой. 
    Ошибочные Данные
    INVALID_OBJECTЕсли этот ссылочный тип был разгружен и собрал "мусор". 
    INVALID_CLASSclazz не является ID ссылочного типа. 
    INVALID_METHODIDmethodID не является ID метода. 
    INVALID_THREADПереданный поток является нулем, не является допустимым потоком или вышел. 
    THREAD_NOT_SUSPENDEDЕсли указанный поток не был приостановлен событием. 
    VM_DEADВиртуальная машина не работает. 
    Команда (7) DisableCollection
    Предотвращает сборку "мусора" для данного объекта. По умолчанию все объекты в ответах бэкэнда могут быть собраны в любое время, целевой VM работает. Звонок в эту команду гарантирует, что объект не будет собран. Команда EnableCollection может использоваться, чтобы позволить набор еще раз.

    Отметьте, что, в то время как целевой VM приостанавливается, никакая сборка "мусора" не произойдет, потому что все потоки приостанавливаются. Типичное исследование переменных, полей, и массивов во время приостановки безопасно, явно не отключая сборку "мусора".

    Этот метод должен использоваться экономно, поскольку он изменяет образец сборки "мусора" в целевом VM и, следовательно, может привести к поведению приложения под отладчиком, который отличается от его неотлаженного поведения.

    Данные
    objectIDобъектОбъектный ID 
    Данные ответа
    (Ни один)
    Ошибочные Данные
    INVALID_OBJECTЕсли этот ссылочный тип был разгружен и собрал "мусор". 
    VM_DEADВиртуальная машина не работает. 
    Команда (8) EnableCollection
    Сборка "мусора" разрешений для этого объекта. По умолчанию все объекты, возвращенные JDWP, могут стать недостижимыми в целевом VM, и следовательно могут быть собраны "мусор". Звонок в эту команду необходим, только если сборка "мусора" была ранее отключена с командой DisableCollection.
    Данные
    objectIDобъектОбъектный ID 
    Данные ответа
    (Ни один)
    Ошибочные Данные
    VM_DEADВиртуальная машина не работает. 
    Команда (9) IsCollected
    Определяет, был ли объект собран "мусор" в целевом VM.
    Данные
    objectIDобъектОбъектный ID 
    Данные ответа
    булевisCollectedистина, если объект был собран; ложь иначе 
    Ошибочные Данные
    INVALID_OBJECTЕсли этот ссылочный тип был разгружен и собрал "мусор". 
    VM_DEADВиртуальная машина не работает. 
    Команда (10) ReferringObjects
    Возвраты возражают что непосредственно ссылка этот объект. Только объекты, которые достижимы в целях сборки "мусора", возвращаются. Отметьте, что на объект можно также сослаться другими способами, такой как от локальной переменной в стековом фрейме, или из глобальной ссылки JNI. Такой необъект referrers не возвращается этой командой.

    Начиная с версии 1.6 JDWP. Требует, чтобы canGetInstanceInfo возможность - видела CapabilitiesNew.

    Данные
    objectIDобъектОбъектный ID 
    интервалmaxReferrersМаксимальное количество обращения объектов возвратиться. Должно быть неотрицательным. Если нуль, все объекты обращения возвращаются. 
    Данные ответа
    интервалreferringObjectsЧисло объектов, которые следуют. 
    Повторенные referringObjects времена:
    теговый-objectIDэкземплярОбъект это ссылается на этот объект. 
    Ошибочные Данные
    INVALID_OBJECTобъект не является известным ID. 
    ILLEGAL_ARGUMENTmaxReferrers является меньше чем нуль. 
    NOT_IMPLEMENTEDФункциональность не реализуется в этой виртуальной машине. 
    VM_DEADВиртуальная машина не работает. 

    Набор команд StringReference (10)

    Команда (1) значения
    Возвращает символы, содержавшиеся в строке.
    Данные
    objectIDstringObjectСтроковый ID объекта.  
    Данные ответа
    строкаstringValueПредставление UTF-8 строкового значения. 
    Ошибочные Данные
    INVALID_STRINGСтрока недопустима. 
    INVALID_OBJECTЕсли этот ссылочный тип был разгружен и собрал "мусор". 
    VM_DEADВиртуальная машина не работает. 

    Набор команд ThreadReference (11)

    Команда (1) имени
    Возвращает имя потока.
    Данные
    threadIDпотокID объекта потока.  
    Данные ответа
    строкаthreadNameИмя потока. 
    Ошибочные Данные
    INVALID_THREADПереданный поток является нулем, не является допустимым потоком или вышел. 
    INVALID_OBJECTпоток не является известным ID. 
    VM_DEADВиртуальная машина не работает. 
    Приостановите Команду (2)
    Приостанавливает поток.

    В отличие от java.lang. Thread.suspend (), приостанавливает и виртуальной машины и отдельных потоков, считаются. Прежде, чем поток будет работать снова, он должен быть возобновлен то же самое число раз, он был приостановлен.

    У приостановки единственных потоков с командой есть те же самые опасности java.lang. Thread.suspend (). Если приостановленный поток содержит монитор, необходимый другому рабочему потоку, мертвая блокировка возможна в целевом VM (по крайней мере, пока приостановленный поток не возобновляется снова).

    Приостановленный поток, как гарантируют, останется приостановленным пока не возобновлено через один из упомянутых выше методов резюме JDI; приложение в целевом VM не может возобновить приостановленный поток через {@link java.lang.Thread#resume}.

    Отметьте, что это не изменяет состояние потока (см. команду ThreadStatus.) Например, если это Работало, это будет все еще казаться рабочим к другим потокам.

    Данные
    threadIDпотокID объекта потока.  
    Данные ответа
    (Ни один)
    Ошибочные Данные
    INVALID_THREADПереданный поток является нулем, не является допустимым потоком или вышел. 
    INVALID_OBJECTпоток не является известным ID. 
    VM_DEADВиртуальная машина не работает. 
    Команда (3) резюме
    Возобновляет выполнение данного потока. Если этот поток не был ранее приостановлен фронтэндом, вызывая эту команду не имеет никакого эффекта. Иначе, количество ожидания приостанавливает на этом потоке, постепенно уменьшается. Если это будет постепенно уменьшено к 0, то поток будет продолжать выполняться.
    Данные
    threadIDпотокID объекта потока.  
    Данные ответа
    (Ни один)
    Ошибочные Данные
    INVALID_THREADПереданный поток является нулем, не является допустимым потоком или вышел. 
    INVALID_OBJECTпоток не является известным ID. 
    VM_DEADВиртуальная машина не работает. 
    Команда (4) состояния
    Возвращает текущий статус потока. Ответ состояния потока указывает на состояние потока в прошлый раз, когда это работало. приостановить состояние предоставляет информацию о приостановке потока, если любой.
    Данные
    threadIDпотокID объекта потока.  
    Данные ответа
    интервалthreadStatusОдин из кодов состояния потока Видит JDWP.ThreadStatus 
    интервалsuspendStatusОдин из приостановить кодов состояния Видит JDWP.SuspendStatus 
    Ошибочные Данные
    INVALID_THREADПереданный поток является нулем, не является допустимым потоком или вышел. 
    INVALID_OBJECTпоток не является известным ID. 
    VM_DEADВиртуальная машина не работает. 
    Команда (5) ThreadGroup
    Возвращает группу потока, которая содержит данный поток.
    Данные
    threadIDпотокID объекта потока.  
    Данные ответа
    threadGroupIDгруппаГруппа потока этого потока.  
    Ошибочные Данные
    INVALID_THREADПереданный поток является нулем, не является допустимым потоком или вышел. 
    INVALID_OBJECTпоток не является известным ID. 
    VM_DEADВиртуальная машина не работает. 
    Команда (6) фреймов
    Возвращает текущий стек вызовов приостановленного потока. Последовательность фреймов запускается с в настоящий момент выполняющегося фрейма, сопровождаемого его вызывающей стороной, и так далее. Поток должен быть приостановлен, и возвращенный frameID допустим только, в то время как поток приостанавливается.
    Данные
    threadIDпотокID объекта потока.  
    интервалstartFrameИндексирование первого фрейма, который получит. 
    интервалдлинаКоличество фреймов, чтобы получить (-1 средство все остающиеся).  
    Данные ответа
    интервалфреймыЧисло фреймов retreived 
    Повторные времена фреймов:
    frameIDframeIDID этого фрейма.  
    расположениерасположениеТекущее расположение этого фрейма 
    Ошибочные Данные
    INVALID_THREADПереданный поток является нулем, не является допустимым потоком или вышел. 
    INVALID_OBJECTпоток не является известным ID. 
    VM_DEADВиртуальная машина не работает. 
    Команда (7) FrameCount
    Возвращает количество фреймов на стеке этого потока. Поток должен быть приостановлен, и возвращенное количество допустимо только, в то время как поток приостанавливается. Возвраты JDWP.Error.errorThreadNotSuspended, если не приостановленный.
    Данные
    threadIDпотокID объекта потока.  
    Данные ответа
    интервалframeCountКоличество фреймов на стеке этого потока.  
    Ошибочные Данные
    INVALID_THREADПереданный поток является нулем, не является допустимым потоком или вышел. 
    INVALID_OBJECTпоток не является известным ID. 
    VM_DEADВиртуальная машина не работает. 
    Команда (8) OwnedMonitors
    Возвращает объекты, мониторы которых были введены этим потоком. Поток должен быть приостановлен, и возвращенная информация релевантна только, в то время как поток приостанавливается. Требует, чтобы canGetOwnedMonitorInfo возможность - видела CapabilitiesNew.
    Данные
    threadIDпотокID объекта потока.  
    Данные ответа
    интервалнаходящийся в собственностиЧисло находящихся в собственности мониторов 
    Повторенные принадлежавшие времена:
    теговый-objectIDмониторНаходящийся в собственности монитор 
    Ошибочные Данные
    INVALID_THREADПереданный поток является нулем, не является допустимым потоком или вышел. 
    INVALID_OBJECTпоток не является известным ID. 
    NOT_IMPLEMENTEDФункциональность не реализуется в этой виртуальной машине. 
    VM_DEADВиртуальная машина не работает. 
    Команда (9) CurrentContendedMonitor
    Возвращает объект, если таковые вообще имеются, которого этот поток ожидает. Поток может ожидать, чтобы ввести монитор, или он может ожидать через java.lang. Метод Object.wait, для другого потока, чтобы вызвать уведомлять метод. Поток должен быть приостановлен, и возвращенная информация релевантна только, в то время как поток приостанавливается. Требует, чтобы canGetCurrentContendedMonitor возможность - видела CapabilitiesNew.
    Данные
    threadIDпотокID объекта потока.  
    Данные ответа
    теговый-objectIDмониторМонитор, с которым спорят, или нуль, если нет никакого тока, спорил монитор.  
    Ошибочные Данные
    INVALID_THREADПереданный поток является нулем, не является допустимым потоком или вышел. 
    INVALID_OBJECTпоток не является известным ID. 
    NOT_IMPLEMENTEDФункциональность не реализуется в этой виртуальной машине. 
    VM_DEADВиртуальная машина не работает. 
    Остановите Команду (10)
    Останавливает поток с асинхронным исключением, как будто сделанный java.lang. Thread.stop
    Данные
    threadIDпотокID объекта потока.  
    objectIDthrowableАсинхронное исключение. Этот объект должен быть экземпляром java.lang. Throwable или подкласс 
    Данные ответа
    (Ни один)
    Ошибочные Данные
    INVALID_THREADПереданный поток является нулем, не является допустимым потоком или вышел. 
    INVALID_OBJECTЕсли поток не является известным ID, или асинхронное исключение было собрано "мусор". 
    VM_DEADВиртуальная машина не работает. 
    Команда (11) прерывания
    Прервите поток, как будто сделанный java.lang. Thread.interrupt
    Данные
    threadIDпотокID объекта потока.  
    Данные ответа
    (Ни один)
    Ошибочные Данные
    INVALID_THREADПереданный поток является нулем, не является допустимым потоком или вышел. 
    INVALID_OBJECTпоток не является известным ID. 
    VM_DEADВиртуальная машина не работает. 
    Команда (12) SuspendCount
    Получите приостановить счет для этого потока. Приостановить количество является числом раз, поток был приостановлен через на уровне потока, или VM-level приостанавливают команды без соответствующего резюме
    Данные
    threadIDпотокID объекта потока.  
    Данные ответа
    интервалsuspendCountЧисло выдающихся приостанавливает этого потока.  
    Ошибочные Данные
    INVALID_THREADПереданный поток является нулем, не является допустимым потоком или вышел. 
    INVALID_OBJECTпоток не является известным ID. 
    VM_DEADВиртуальная машина не работает. 
    Команда (13) OwnedMonitorsStackDepthInfo
    Возвраты контролируют объекты, принадлежавшие потоку, наряду с глубиной стека, в которой был получен монитор. Возвраты складывают глубину-1, если реализация не может решить, что глубина стека (например, для мониторов, полученных JNI MonitorEnter).The поток, должна быть приостановлена, и возвращенная информация релевантна только, в то время как поток приостанавливается. Требует, чтобы canGetMonitorFrameInfo возможность - видела CapabilitiesNew.

    Начиная с версии 1.6 JDWP.

    Данные
    threadIDпотокID объекта потока.  
    Данные ответа
    интервалнаходящийся в собственностиЧисло находящихся в собственности мониторов 
    Повторенные принадлежавшие времена:
    теговый-objectIDмониторНаходящийся в собственности монитор 
    интервалstack_depthРасположение глубины стека, где монитор был получен 
    Ошибочные Данные
    INVALID_THREADПереданный поток является нулем, не является допустимым потоком или вышел. 
    INVALID_OBJECTпоток не является известным ID. 
    NOT_IMPLEMENTEDФункциональность не реализуется в этой виртуальной машине. 
    VM_DEADВиртуальная машина не работает. 
    Команда (14) ForceEarlyReturn
    Вынудите метод возвратиться прежде, чем он достигнет оператора возврата.

    Метод, который возвратится рано, упоминается как вызванный метод. Вызванный метод является текущим методом (как определено разделом Фреймов в Спецификации Виртуальной машины Java™) для указанного потока в то время, когда эта команда получается.

    Указанный поток должен быть приостановлен. Возврат происходит, когда выполнение кода языка программирования Java возобновляется на этом потоке. Между отправкой этой команды и возобновлением выполнения потока, состояние стека неопределено.

    Никакие дальнейшие инструкции не выполняются в вызванном методе. Определенно, наконец блоки не выполняются. Отметьте: это может вызвать непоследовательные состояния в приложении.

    Блокировка, полученная, вызывая вызванный метод (если это - синхронизируемый метод) и, блокирует полученный, входя, синхронизировался, блоки в пределах вызванного метода выпускаются. Отметьте: это не применяется к блокировкам JNI или блокировкам java.util.concurrent.locks.

    События, такие как MethodExit, сгенерированы, как они были бы в нормальном возврате.

    Вызванный метод должен быть несобственным методом языка программирования Java. Принуждение возврата на потоке только с одним фреймом на стеке заставляет поток выходить когда возобновлено.

    Для пустых методов значение должно быть пустым значением. Для методов, которые возвращают примитивные значения, тип значения должен соответствовать тип возврата точно. Для объектных значений должно быть расширяющееся ссылочное преобразование от типа значения до типа типа возврата, и тип возврата должен быть загружен.

    Начиная с версии 1.6 JDWP. Требует, чтобы canForceEarlyReturn возможность - видела CapabilitiesNew.

    Данные
    threadIDпотокID объекта потока.  
    значениезначениеЗначение, чтобы возвратиться.  
    Данные ответа
    (Ни один)
    Ошибочные Данные
    INVALID_THREADПереданный поток является нулем, не является допустимым потоком или вышел. 
    INVALID_OBJECTПоток или значение не являются известным ID. 
    THREAD_NOT_SUSPENDEDЕсли указанный поток не был приостановлен событием. 
    THREAD_NOT_ALIVEПоток не был запущен или теперь мертв. 
    OPAQUE_FRAMEПредпринятый, чтобы возвратиться рано из фрейма, соответствующего собственному методу. Или реализация неспособна обеспечить эту функциональность на этом фрейме. 
    NO_MORE_FRAMESНет больше Java или фреймов JNI на стеке вызовов. 
    NOT_IMPLEMENTEDФункциональность не реализуется в этой виртуальной машине. 
    TYPE_MISMATCHЗначение не является соответствующим типом для возвращаемого значения метода. 
    VM_DEADВиртуальная машина не работает. 

    Набор команд ThreadGroupReference (12)

    Команда (1) имени
    Возвращает название группы потока.
    Данные
    threadGroupIDгруппаГруппа потока возражает ID.  
    Данные ответа
    строкаgroupNameГрупповое имя потока. 
    Ошибочные Данные
    INVALID_THREAD_GROUPНедопустимая группа потока. 
    INVALID_OBJECTгруппа не является известным ID. 
    VM_DEADВиртуальная машина не работает. 
    Родительская Команда (2)
    Возвращает группу потока, если таковые вообще имеются, который содержит данную группу потока.
    Данные
    threadGroupIDгруппаГруппа потока возражает ID.  
    Данные ответа
    threadGroupIDparentGroupРодительский групповой объект потока, или нуль, если данная группа потока является высокоуровневой группой потока 
    Ошибочные Данные
    INVALID_THREAD_GROUPНедопустимая группа потока. 
    INVALID_OBJECTгруппа не является известным ID. 
    VM_DEADВиртуальная машина не работает. 
    Дочерняя Команда (3)
    Возвращает живые потоки и активные группы потока, непосредственно содержавшиеся в этой группе потока. Потоки и группы потока в дочерних группах потока не включаются. Поток жив, если он был запущен и еще не был остановлен. См. java.lang. ThreadGroup для информации об активном ThreadGroups.
    Данные
    threadGroupIDгруппаГруппа потока возражает ID.  
    Данные ответа
    интервалchildThreadsЧисло живых дочерних потоков.  
    Повторенные childThreads времена:
    threadIDchildThreadПрямой дочерний ID потока.  
    интервалchildGroupsЧисло активных дочерних групп потока.  
    Повторенные childGroups времена:
    threadGroupIDchildGroupПрямой дочерний групповой ID потока.  
    Ошибочные Данные
    INVALID_THREAD_GROUPНедопустимая группа потока. 
    INVALID_OBJECTгруппа не является известным ID. 
    VM_DEADВиртуальная машина не работает. 

    Набор команд ArrayReference (13)

    Команда (1) длины
    Возвращает число компонентов в данном массиве.
    Данные
    arrayIDarrayObjectID объекта массива.  
    Данные ответа
    интервалarrayLengthДлина массива. 
    Ошибочные Данные
    INVALID_OBJECTarrayObject не является известным ID. 
    INVALID_ARRAYМассив недопустим. 
    VM_DEADВиртуальная машина не работает. 
    Команда (2) GetValues
    Возвращает диапазон компонентов массива. Указанный диапазон должен быть в пределах границ массива.
    Данные
    arrayIDarrayObjectID объекта массива.  
    интервалfirstIndexПервые индексируют, чтобы получить. 
    интервалдлинаЧисло компонентов, чтобы получить. 
    Данные ответа
    arrayregionзначенияПолученные значения. Если значения являются объектами, они - тегированные значения; иначе, они - нетегировать-значения 
    Ошибочные Данные
    INVALID_LENGTHЕсли индексируют, вне конца этого массива. 
    INVALID_OBJECTarrayObject не является известным ID. 
    INVALID_ARRAYМассив недопустим. 
    VM_DEADВиртуальная машина не работает. 
    Команда (3) SetValues
    Устанавливает диапазон компонентов массива. Указанный диапазон должен быть в пределах границ массива. Для примитивных значений тип каждого значения должен соответствовать компонентный тип массива точно. Для объектных значений должно быть расширяющееся ссылочное преобразование от типа значения до компонентного типа массива, и компонентный тип массива должен быть загружен.
    Данные
    arrayIDarrayObjectID объекта массива.  
    интервалfirstIndexПервые индексируют, чтобы установить. 
    интервалзначенияЧисло значений, чтобы установить.  
    Повторные времена значений:
    нетегировать-значениезначениеЗначение, чтобы установить.  
    Данные ответа
    (Ни один)
    Ошибочные Данные
    INVALID_LENGTHЕсли индексируют, вне конца этого массива. 
    INVALID_OBJECTarrayObject не является известным ID. 
    INVALID_ARRAYМассив недопустим. 
    VM_DEADВиртуальная машина не работает. 

    Набор команд ClassLoaderReference (14)

    Команда (1) VisibleClasses
    Возвращает список всех классов, которые этот загрузчик class требовали загрузить. Этот загрузчик class, как полагают, является инициированием загрузчик class для каждого class в возвращенном списке. Список содержит каждый ссылочный тип, определенный этим загрузчиком и любыми типами, для которых загрузка была делегирована этим загрузчиком class к другому загрузчику class.

    У видимого списка class есть полезные свойства относительно пространства имен типа. Определенное имя типа произойдет самое большее однажды в списке. Каждое поле или переменная, объявленная с тем именем типа в class, определенном этим загрузчиком class, должны быть разрешены к тому единственному типу.

    Никакое упорядочивание возвращенного списка не гарантируется.

    Данные
    classLoaderIDclassLoaderObjectЗагрузчик class возражает ID.  
    Данные ответа
    интервалклассыЧисло видимых классов.  
    Повторные времена классов:
    байтrefTypeTagВид следующего ссылочного типа.  
    referenceTypeIDидентификатор типаclass, видимый к этому загрузчику class. 
    Ошибочные Данные
    INVALID_OBJECTЕсли этот ссылочный тип был разгружен и собрал "мусор". 
    INVALID_CLASS_LOADERЗагрузчик class недопустим. 
    VM_DEADВиртуальная машина не работает. 

    Набор команд EventRequest (15)

    Команда (1) набора
    Установите запрос события. Когда событие, описанное этим запросом, имеет место, событие отправляется от целевого VM. Если событие имеет место, который не требовали тогда, оно не отправляется от целевого VM. Эти два исключения к этому являются VM, Запускают Событие и Смертельное Событие VM, которые являются автоматически сгенерированными событиями - см. Составную Команду для получения дальнейшей информации.
    Данные
    байтeventKindВид события, чтобы запросить. См. JDWP.EventKind для полного списка событий, которые можно требовать; некоторые события могут потребовать возможности, чтобы требовать.  
    байтsuspendPolicyКакие потоки приостанавливаются, когда это событие имеет место? Отметьте, что порядок событий и ответов команды точно отражает порядок, в котором потоки приостанавливаются и возобновляются. Например, если резюме VM-wide обрабатывается прежде, чем событие имеет место, который приостанавливает VM, ответ на команду резюме будет записан транспорту перед событием приостановки. 
    интервалмодификаторыОграничения, используемые, чтобы управлять числом сгенерированных событий. Модификаторы определяют дополнительные тесты, которые должно удовлетворить событие прежде, чем оно будет помещено в конечном счете очередь. События фильтруются, применяя каждый модификатор к событию в порядке, они определяются в этом Only набора события, которые удовлетворяют, обо всех модификаторах сообщают. Значение 0 средств там не является никакими модификаторами в запросе.

    Фильтрация может улучшить производительность отладчика существенно, уменьшая количество трафика события, отправленного от целевого VM до отладчика VM.  

    Повторные времена модификаторов:
    байтmodKindВид модификатора 
    Граф случая - если modKind 1: Ограничьте требуемое событие, о котором сообщат самое большее однажды после данного числа возникновений. О событии не сообщают первое count - 1 времена этот фильтр достигаются. Чтобы запросить одноразовое событие, вызовите этот метод с количеством 1.

    Как только количество достигает 0, любые последующие фильтры в этом запросе применяются. Если ни один из тех фильтров не заставляет событие быть подавленным, о событии сообщают. Иначе, о событии не сообщают. В любом случае о последующих событиях никогда не сообщают для этого запроса. Этот модификатор может использоваться с любым видом события. 

    интервалколичествоГраф перед событием. Один для одноразового. 
    Условное выражение случая - если modKind 2: Условное выражение по выражению 
    интервалexprIDДля будущего 
    ThreadOnly случая - если modKind 3: Ограничивает события, о которых сообщают, теми в данном потоке. Этот модификатор может использоваться с любым видом события за исключением class, разгружаются.  
    threadIDпотокНеобходимый поток 
    ClassOnly случая - если modKind 4: Поскольку class готовит события, ограничивает события, сгенерированные этим запросом, чтобы быть подготовкой данного ссылочного типа и любых подтипов. Поскольку монитор ожидает и ожидал события, ограничивает события, сгенерированные этим запросом тем, объект монитора которых имеет данный ссылочный тип или любой из его подтипов. Для других событий, ограничивает события, сгенерированные этим запросом тем, расположение которых находится в данном ссылочном типе или любом из его подтипов. Событие будет сгенерировано для любого расположения в ссылочном типе, который может быть безопасно брошен к данному ссылочному типу. Этот модификатор может использоваться с любым видом события кроме class, разгружаются, поток запускаются, и распараллеливают конец.  
    referenceTypeIDclazzНеобходимый class 
    ClassMatch случая - если modKind 5: Ограничивает события, о которых сообщают, теми для классов, имя которых соответствует данное ограниченное регулярное выражение. Поскольку class готовит события, готовое имя class является соответствующим. Поскольку class разгружает события, разгруженное имя class является соответствующим. Поскольку монитор ожидает и ожидал события, имя class объекта монитора является соответствующим. Для других событий является соответствующим имя class расположения события. Этот модификатор может использоваться с любым видом события кроме потока, запускают и распараллеливают конец.  
    строкаclassPatternНеобходимый образец class. Соответствия ограничиваются точными совпадениями данного образца class и соответствиями образцов, которые начинаются или заканчиваются '*'; например, "*.Foo" или "java. *".  
    ClassExclude случая - если modKind 6: Ограничивает события, о которых сообщают, теми для классов, имя которых не соответствует данное ограниченное регулярное выражение. Поскольку class готовит события, готовое имя class является соответствующим. Поскольку class разгружает события, разгруженное имя class является соответствующим. Поскольку монитор ожидает и ожидал события, имя class объекта монитора является соответствующим. Для других событий является соответствующим имя class расположения события. Этот модификатор может использоваться с любым видом события кроме потока, запускают и распараллеливают конец.  
    строкаclassPatternОтвергнутый образец class. Соответствия ограничиваются точными совпадениями данного образца class и соответствиями образцов, которые начинаются или заканчиваются '*'; например, "*.Foo" или "java. *".  
    LocationOnly случая - если modKind 7: Ограничивает события, о которых сообщают, теми, которые происходят в данном расположении. Этот модификатор может использоваться с контрольной точкой, доступом к полю, полевой модификацией, шагом, и видами события исключения.  
    расположениеместоположениеНеобходимое расположение 
    ExceptionOnly случая - если modKind 8: Ограничивает исключения, о которых сообщают, их class и пойманы ли они или непойманы. Этот модификатор может использоваться с видами события исключения только.  
    referenceTypeIDexceptionOrNullИсключение, чтобы сообщить. Нуль (0) средства сообщает об исключениях всех типов. Ненулевой тип ограничивает события исключения, о которых сообщают, исключениями данного типа или любым из его подтипов.  
    булевпойманныйСообщите о пойманных исключениях 
    булевнепойманныйСообщите о непойманных исключениях. Отметьте, что не всегда возможно определить, поймано ли исключение или непоймано в то время, когда это бросается. См. расположение выгоды события исключения под составными событиями для получения дополнительной информации.  
    FieldOnly случая - если modKind 9: Ограничивает события, о которых сообщают, теми, которые происходят для данного поля. Этот модификатор может использоваться с доступом к полю и полевыми видами события модификации только.  
    referenceTypeIDобъявлениеВведите, какое поле объявляется. 
    fieldIDfieldIDОбязательное поле 
    Шаг случая - если modKind 10: Ограничивает события шага, о которых сообщают, теми, которые удовлетворяют ограничения размера и глубина. Этот модификатор может использоваться с видами события шага только.  
    threadIDпотокПоток, в который можно ступить 
    интервалразмерразмер каждого шага. См. JDWP.StepSize 
    интервалглубинаотносительный предел стека вызовов. См. JDWP.StepDepth 
    InstanceOnly случая - если modKind 11: Ограничивает события, о которых сообщают, теми, чей активный 'этот' объект является данным объектом. Значение соответствия является нулевым объектом для статических методов. Этот модификатор может использоваться с любым видом события кроме class, готовятся, class разгружаются, поток запускаются, и распараллеливают конец. Представленный в версии 1.4 JDWP. 
    objectIDэкземплярТребуемый 'этот' объект 
    SourceNameMatch случая - если modKind 12: Ограничивает class, о котором сообщают, готовят события тем для ссылочных типов, у которых есть исходное имя, которое соответствует данное ограниченное регулярное выражение. Исходные имена определяются SourceDebugExtension ссылочного типа. Этот модификатор может только использоваться с class, готовят события. Начиная с версии 1.6 JDWP. Требует, чтобы canUseSourceNameFilters возможность - видела CapabilitiesNew
    строкаsourceNamePatternНеобходимый исходный образец имени. Соответствия ограничиваются точными совпадениями данного образца и соответствиями образцов, которые начинаются или заканчиваются '*'; например, "*.Foo" или "java. *".  
    Данные ответа
    интервалrequestIDID создаваемого запроса 
    Ошибочные Данные
    INVALID_THREADПереданный поток является нулем, не является допустимым потоком или вышел. 
    INVALID_CLASSНедопустимый class. 
    INVALID_STRINGСтрока недопустима. 
    INVALID_OBJECTЕсли этот ссылочный тип был разгружен и собрал "мусор". 
    INVALID_COUNTКоличество недопустимо. 
    INVALID_FIELDIDНедопустимое поле. 
    INVALID_METHODIDНедопустимый метод. 
    INVALID_LOCATIONНедопустимое расположение. 
    INVALID_EVENT_TYPEУказанный идентификатор типа события не распознается. 
    NOT_IMPLEMENTEDФункциональность не реализуется в этой виртуальной машине. 
    VM_DEADВиртуальная машина не работает. 
    Очистите Команду (2)
    Очистите запрос события. См. JDWP.EventKind для полного списка событий, которые могут быть очищены. Только запрос события, соответствующий указанный вид события и requestID, очищается. Если нет соответствующего запроса события, что команда не и не приводит к ошибке. Автоматически сгенерированные события не имеют соответствующего запроса события и не могут быть очищены, используя эту команду.
    Данные
    байтeventKindВид события, чтобы очистить 
    интервалrequestIDID запроса, чтобы очистить 
    Данные ответа
    (Ни один)
    Ошибочные Данные
    VM_DEADВиртуальная машина не работает. 
    INVALID_EVENT_TYPEУказанный идентификатор типа события не распознается. 
    Команда (3) ClearAllBreakpoints
    Удаляет все контрольные точки набора, не, если нет никакого набора контрольных точек.
    Данные
    (Ни один)
    Данные ответа
    (Ни один)
    Ошибочные Данные
    VM_DEADВиртуальная машина не работает. 

    Набор команд StackFrame (16)

    Команда (1) GetValues
    Возвращает значение одной или более локальных переменных в данном фрейме. Каждая переменная должна быть видимой в индексе кода фрейма. Даже если информация о локальной переменной не доступна, значения могут быть получены, если фронтэнд в состоянии решить, что корректная локальная переменная индексирует. (Как правило, это индексирует, может быть определен для параметров метода от сигнатуры метода без доступа к информации о таблице локальной переменной.)
    Данные
    threadIDпотокПоток фрейма.  
    frameIDфреймID фрейма.  
    интервалслотыЧисло значений, чтобы добраться.  
    Повторные времена слотов:
    интервалслотЛокальная переменная индексирует во фрейме.  
    байтsigbyteТег, идентифицирующий тип переменной  
    Данные ответа
    интервалзначенияЧисло полученных значений, всегда равный слотам, числу значений, чтобы добраться. 
    Повторные времена значений:
    значениеslotValueЗначение локальной переменной.  
    Ошибочные Данные
    INVALID_THREADПереданный поток является нулем, не является допустимым потоком или вышел. 
    INVALID_OBJECTЕсли этот ссылочный тип был разгружен и собрал "мусор". 
    INVALID_FRAMEIDНедопустимый jframeID. 
    INVALID_SLOTНедопустимый слот. 
    VM_DEADВиртуальная машина не работает. 
    Команда (2) SetValues
    Устанавливает значение одной или более локальных переменных. Каждая переменная должна быть видимой в текущем индексе кода фрейма. Для примитивных значений тип значения должен соответствовать тип переменной точно. Для объектных значений должно быть расширяющееся ссылочное преобразование от типа значения до типа переменной, и тип переменной должен быть загружен.

    Даже если информация о локальной переменной не доступна, значения могут быть установлены, если фронтэнд в состоянии решить, что корректная локальная переменная индексирует. (Как правило, это индексирует, может быть определен для параметров метода от сигнатуры метода без доступа к информации о таблице локальной переменной.)

    Данные
    threadIDпотокПоток фрейма.  
    frameIDфреймID фрейма.  
    интервалslotValuesЧисло значений, чтобы установить.  
    Повторенные slotValues времена:
    интервалслотID слота.  
    значениеslotValueЗначение, чтобы установить.  
    Данные ответа
    (Ни один)
    Ошибочные Данные
    INVALID_THREADПереданный поток является нулем, не является допустимым потоком или вышел. 
    INVALID_OBJECTЕсли этот ссылочный тип был разгружен и собрал "мусор". 
    INVALID_FRAMEIDНедопустимый jframeID. 
    VM_DEADВиртуальная машина не работает. 
    Команда (3) ThisObject
    Возвращает значение 'этой' ссылки для этого фрейма. Если метод фрейма будет статичным или собственным, то ответ будет содержать нулевую ссылку на объект.
    Данные
    threadIDпотокПоток фрейма.  
    frameIDфреймID фрейма.  
    Данные ответа
    теговый-objectIDobjectThis'Этот' объект для этого фрейма.  
    Ошибочные Данные
    INVALID_THREADПереданный поток является нулем, не является допустимым потоком или вышел. 
    INVALID_OBJECTЕсли этот ссылочный тип был разгружен и собрал "мусор". 
    INVALID_FRAMEIDНедопустимый jframeID. 
    VM_DEADВиртуальная машина не работает. 
    Команда (4) PopFrames
    Вытолкайте самые верхние стековые фреймы стека потока, до, и включая 'фрейм'. Поток должен быть приостановлен, чтобы выполнить эту команду. Самые верхние стековые фреймы отбрасываются, и стековый фрейм до 'фрейма' становится текущим фреймом. Стек операнда восстанавливается - значения аргументов добавляются назад и если вызывание не было invokestatic, objectref добавляется назад также. Счетчик команд виртуальной машины Java восстанавливается коду операции вызвать инструкции.

    Начиная с версии 1.4 JDWP. Требует, чтобы canPopFrames возможность - видела CapabilitiesNew.

    Данные
    threadIDпотокID объекта потока.  
    frameIDфреймID фрейма.  
    Данные ответа
    (Ни один)
    Ошибочные Данные
    INVALID_THREADПереданный поток является нулем, не является допустимым потоком или вышел. 
    INVALID_OBJECTпоток не является известным ID. 
    INVALID_FRAMEIDНедопустимый jframeID. 
    THREAD_NOT_SUSPENDEDЕсли указанный поток не был приостановлен событием. 
    NO_MORE_FRAMESНет больше Java или фреймов JNI на стеке вызовов. 
    INVALID_FRAMEIDНедопустимый jframeID. 
    NOT_IMPLEMENTEDФункциональность не реализуется в этой виртуальной машине. 
    VM_DEADВиртуальная машина не работает. 

    Набор команд ClassObjectReference (17)

    Команда (1) ReflectedType
    Возвращает ссылочный тип, отраженный этим объектом class.
    Данные
    classObjectIDclassObjectОбъект class.  
    Данные ответа
    байтrefTypeTagВид следующего ссылочного типа.  
    referenceTypeIDидентификатор типаотраженный ссылочный тип 
    Ошибочные Данные
    INVALID_OBJECTЕсли этот ссылочный тип был разгружен и собрал "мусор". 
    VM_DEADВиртуальная машина не работает. 

    Набор команд события (64)

    Составная Команда (100)
    Несколько событий могут иметь место в установленный срок в целевом VM. Например, может быть больше чем один запрос контрольной точки на данное расположение, или Вы могли бы единственный шаг к тому же самому расположению как запрос контрольной точки. Эти события поставляются вместе как составное событие. Для однородности составное событие всегда используется, чтобы поставить события, даже если есть только одно событие, чтобы сообщить.

    События, которые группируются в составном событии, ограничиваются следующими способами:

    VM Запускают Событие, и Смертельное Событие VM автоматически сгенерированные события. Это означает, что их не должны требовать, используя EventRequest. Команда набора. Событие VM Start сигнализирует завершение инициализации VM. Событие VM Death сигнализирует завершение VM.If есть отладчик, соединенный в то время, когда автоматически сгенерированное событие имеет место, это отправляется от целевого VM. Автоматически сгенерированные события можно также требовать, используя EventRequest. Команда набора и таким образом многократные события того же самого вида события будут отправлены от целевого VM, когда событие будет иметь место. Автоматически сгенерированные события отправляются с requestID полем в конечном счете Набор данных к 0. Значение suspendPolicy поля в конечном счете Данные зависит от события. Поскольку автоматически сгенерированные VM Запускают Событие, значение suspendPolicy не определяется и является поэтому реализацией или определенной конфигурацией. В реализации солнца, например, suspendPolicy определяется как опция к агенту JDWP в разовом запуском. У автоматически сгенерированного Смертельного События VM будет набор suspendPolicy ни к ОДНОМУ.

    Данные события
    байтsuspendPolicyКоторый распараллеливает где приостановлено этим составным событием? 
    интервалсобытияСобытия в наборе. 
    Повторные времена событий:
    байтeventKindСелектор вида события 
    VMStart случая - если eventKind является JDWP.EventKind. VM_START: Уведомление об инициализации целевого VM. Это событие получается прежде, чем основной поток запускается и прежде, чем любой код программы был выполнен. Прежде, чем это событие имеет место, существенное количество системного кода выполнилось, и много системных классов были загружены. Это событие всегда сгенерировано к установленному сроку VM, даже если не явно требуемый. 
    интервалrequestIDЗапросите, чтобы генерировал событие (или 0, если это событие автоматически сгенерировано. 
    threadIDпотокНачальный поток 
    SingleStep случая - если eventKind является JDWP.EventKind. SINGLE_STEP: Уведомление о завершении шага в целевом VM. Событие шага сгенерировано прежде, чем код в его расположении выполняется.  
    интервалrequestIDЗапросите то сгенерированное событие 
    threadIDпотокСтупивший поток 
    расположениерасположениеРасположение ступило в 
    Контрольная точка случая - если eventKind является JDWP.EventKind. КОНТРОЛЬНАЯ ТОЧКА: Уведомление о контрольной точке в целевом VM. Событие контрольной точки сгенерировано прежде, чем код в его расположении выполняется.  
    интервалrequestIDЗапросите то сгенерированное событие 
    threadIDпотокПоток, которые поражают контрольную точку 
    расположениерасположениеРасположение совершало нападки 
    MethodEntry случая - если eventKind является JDWP.EventKind. METHOD_ENTRY: Уведомление о вызове метода в целевом VM. Это событие сгенерировано прежде, чем любой код в вызванном методе выполнился. События записи метода сгенерированы и для собственных и для несобственных методов.

    В некотором VMs события записи метода могут иметь место для определенного потока прежде, чем его поток запустится, событие имеет место, если методы вызывают как часть инициализации потока.  

    интервалrequestIDЗапросите то сгенерированное событие 
    threadIDпотокПоток, который ввел метод 
    расположениерасположениеНачальное исполнимое расположение в методе. 
    MethodExit случая - если eventKind является JDWP.EventKind. METHOD_EXIT: Уведомление о методе возвращается в целевом VM. Это событие сгенерировано после того, как весь код в методе выполнился, но расположение этого события является последним выполняемым расположением в методе. События выхода метода сгенерированы и для собственных и для несобственных методов. События выхода метода не сгенерированы, если метод завершается с выданным исключением.  
    интервалrequestIDЗапросите то сгенерированное событие 
    threadIDпотокПоток, который выходил из метода 
    расположениерасположениеРасположение выхода 
    MethodExitWithReturnValue случая - если eventKind JDWP.EventKind.METHOD_EXIT_WITH_RETURN_VALUE: Уведомление о методе возвращается в целевом VM. Это событие сгенерировано после того, как весь код в методе выполнился, но расположение этого события является последним выполняемым расположением в методе. События выхода метода сгенерированы и для собственных и для несобственных методов. События выхода метода не сгенерированы, если метод завершается с выданным исключением.

    Начиная с версии 1.6 JDWP.  

    интервалrequestIDЗапросите то сгенерированное событие 
    threadIDпотокПоток, который выходил из метода 
    расположениерасположениеРасположение выхода 
    значениезначениеЗначение, которое будет возвращено методом 
    MonitorContendedEnter случая - если eventKind является JDWP.EventKind. MONITOR_CONTENDED_ENTER: Уведомление, что поток в целевом VM пытается ввести монитор, который уже получается другим потоком. Требует, чтобы canRequestMonitorEvents возможность - видела CapabilitiesNew.

    Начиная с версии 1.6 JDWP.  

    интервалrequestIDЗапросите то сгенерированное событие 
    threadIDпотокПоток, который пытается ввести монитор 
    теговый-objectIDобъектКонтролируйте ссылку на объект 
    расположениерасположениеРасположение монитора, с которым спорят, входит 
    MonitorContendedEntered случая - если eventKind является JDWP.EventKind. MONITOR_CONTENDED_ENTERED: Уведомление о потоке в целевом VM вводит монитор после ожидания этого, чтобы быть выпущенным другим потоком. Требует, чтобы canRequestMonitorEvents возможность - видела CapabilitiesNew.

    Начиная с версии 1.6 JDWP.  

    интервалrequestIDЗапросите то сгенерированное событие 
    threadIDпотокПоток, который ввел монитор 
    теговый-objectIDобъектКонтролируйте ссылку на объект 
    расположениерасположениеРасположение монитора, с которым спорят, входит 
    MonitorWait случая - если eventKind является JDWP.EventKind. MONITOR_WAIT: Уведомление о потоке, собирающемся ожидать на объекте монитора. Требует, чтобы canRequestMonitorEvents возможность - видела CapabilitiesNew.

    Начиная с версии 1.6 JDWP.  

    интервалrequestIDЗапросите то сгенерированное событие 
    threadIDпотокПоток, который собирается ожидать 
    теговый-objectIDобъектКонтролируйте ссылку на объект 
    расположениерасположениеРасположение, в котором произойдет ожидание 
    долготайм-аутРаспараллельте время ожидания в миллисекундах 
    MonitorWaited случая - если eventKind является JDWP.EventKind. MONITOR_WAITED: Уведомление, что поток в целевом VM закончил ожидать на, Требует, чтобы canRequestMonitorEvents возможность - видела CapabilitiesNew объект монитора.

    Начиная с версии 1.6 JDWP.  

    интервалrequestIDЗапросите то сгенерированное событие 
    threadIDпотокПоток, который ожидал 
    теговый-objectIDобъектКонтролируйте ссылку на объект 
    расположениерасположениеРасположение, в котором произошло ожидание 
    булевtimed_outИстина если синхронизированный 
    Исключение случая - если eventKind является JDWP.EventKind. ИСКЛЮЧЕНИЕ: Уведомление об исключении в целевом VM. Если исключение выдается от несобственного метода, событие исключения сгенерировано в расположении, где исключение выдается. Если исключение выдается от собственного метода, событие исключения сгенерировано в первом несобственном расположении, достигнутом после того, как исключение выдается.  
    интервалrequestIDЗапросите то сгенерированное событие 
    threadIDпотокПоток с исключением 
    расположениерасположениеРасположение броска исключения (или сначала несобственное расположение после броска если брошено от собственного метода) 
    теговый-objectIDисключениеВыданное исключение 
    расположениеcatchLocationРасположение выгоды, или 0, если не пойманный. Исключение, как полагают, поймано, если в точке броска текущее расположение динамически включается в оператор попытки, который обрабатывает исключение. (См. спецификацию JVM для деталей). Если есть такой оператор попытки, расположение выгоды является первым расположением в соответствующем пункте выгоды.

    Если есть собственные методы в стеке вызовов во время исключения, есть важные ограничения, чтобы отметить о возвращенном расположении выгоды. В таких случаях не возможно предсказать, будет ли исключение обработано некоторым собственным методом на стеке вызовов. Таким образом возможно, что исключения, которые рассматривают непойманным здесь, будут, фактически, обработаны собственным методом и не завершением причины целевого VM. Кроме того нельзя предположить, что расположение выгоды, возвращенное здесь, будет когда-либо достигаться потоком броска. Если есть собственный фрейм между текущим расположением и расположением выгоды, исключение могло бы быть обработано и очищено в том собственном методе вместо этого.

    Отметьте, что компиляторы могут генерировать блоки try-catch в некоторых случаях, где они не являются явными в исходном коде; например, код, сгенерированный для synchronized и finally блоки могут содержать неявные блоки try-catch. Если такая неявно сгенерированная выгода попытки будет присутствовать на стеке вызовов во время броска, то исключение будут считать пойманным даже при том, что это, кажется, непоймано от исследования исходного кода.  

    ThreadStart случая - если eventKind является JDWP.EventKind. THREAD_START: Уведомление о новом рабочем потоке в целевом VM. Новый поток может быть результатом звонка java.lang.Thread.start или результат присоединения нового потока к VM, хотя JNI. Уведомление сгенерировано новым потоком некоторое время прежде, чем его выполнение запустится. Из-за этой синхронизации возможно получить другие события для потока прежде, чем это событие будет получено. (Особенно, События Записи Метода и События Выхода Метода могли бы произойти во время инициализации потока. Для команды VirtualMachine AllThreads также возможно возвратить поток прежде, чем его поток запустится, событие получается.

    Отметьте, что это событие не дает информации о создании объекта потока, который, возможно, произошел намного ранее, в зависимости от VM быть отлаженным.  

    интервалrequestIDЗапросите то сгенерированное событие 
    threadIDпотокЗапущенный поток 
    ThreadDeath случая - если eventKind является JDWP.EventKind. THREAD_DEATH: Уведомление о завершенном потоке в целевом VM. Уведомление сгенерировано умирающим потоком прежде, чем это завершится. Из-за этой синхронизации для {@link VirtualMachine#allThreads} возможно возвратить этот поток после того, как это событие получается.

    Отметьте, что это событие не дает информации о времени жизни объекта потока. Это может или не может быть скоро собрано в зависимости от того, какие ссылки существуют в целевом VM.  

    интервалrequestIDЗапросите то сгенерированное событие 
    threadIDпотокОкончание потока 
    ClassPrepare случая - если eventKind является JDWP.EventKind. CLASS_PREPARE: Уведомление о class готовится в целевом VM. См. спецификацию JVM для определения подготовки class. Класс готовится, события не сгенерированы для primtiive классов (например, java.lang. Целое число. ВВЕДИТЕ).  
    интервалrequestIDЗапросите то сгенерированное событие 
    threadIDпотокПодготовка потока. В редких случаях это событие может иметь место в системном потоке отладчика в пределах целевого VM. Потоки отладчика принимают меры предосторожности, чтобы предотвратить эти события, но их нельзя избежать при некоторых условиях, специально для некоторых подклассов java.lang. Ошибка. Если событие было сгенерировано системным потоком отладчика, значение, возвращенное этим методом, является нулем, и если требуемые приостанавливают политику за событие, был EVENT_THREAD, все потоки будут приостановлены вместо этого, и составное событие приостанавливает политику, отразит это изменение.

    Отметьте, что обсуждение выше не применяется к системным потокам, создаваемым к установленному сроку VM во время ее нормального (неотладка) работа.  

    байтrefTypeTagВид ссылочного типа. См. JDWP.TypeTag 
    referenceTypeIDидентификатор типаВведите быть подготовленным 
    строкаподписьВведите подпись 
    интервалсостояниеСостояние типа. См. JDWP.ClassStatus 
    ClassUnload случая - если eventKind является JDWP.EventKind. CLASS_UNLOAD: Уведомление о class разгружается в целевом VM.

    Есть серьезные ограничения на бэкэнд отладчика во время сборки "мусора", так разгрузитесь, информация значительно ограничивается.  

    интервалrequestIDЗапросите то сгенерированное событие 
    строкаподписьВведите подпись 
    FieldAccess случая - если eventKind является JDWP.EventKind. FIELD_ACCESS: Уведомление о доступе к полю в целевом VM. Полевые модификации не считают доступами к полю. Требует, чтобы canWatchFieldAccess возможность - видела CapabilitiesNew
    интервалrequestIDЗапросите то сгенерированное событие 
    threadIDпотокДоступ к потоку 
    расположениерасположениеРасположение доступа 
    байтrefTypeTagВид ссылочного типа. См. JDWP.TypeTag 
    referenceTypeIDидентификатор типаТип поля 
    fieldIDfieldIDПолучаемое доступ поле 
    теговый-objectIDобъектПолучаемый доступ объект (null=0 для статики 
    FieldModification случая - если eventKind является JDWP.EventKind. FIELD_MODIFICATION: Уведомление о полевой модификации в целевом VM. Требует, чтобы canWatchFieldModification возможность - видела CapabilitiesNew
    интервалrequestIDЗапросите то сгенерированное событие 
    threadIDпотокИзменение потока 
    расположениерасположениеРасположение изменяет 
    байтrefTypeTagВид ссылочного типа. См. JDWP.TypeTag 
    referenceTypeIDидентификатор типаТип поля 
    fieldIDfieldIDИзменяемое поле 
    теговый-objectIDобъектИзменяемый объект (null=0 для статики 
    значениеvalueToBeЗначение, которое будет присвоено 
    VMDeath случая - если eventKind является JDWP.EventKind. VM_DEATH:  
    интервалrequestIDЗапросите то сгенерированное событие 

    Ошибочные Константы

    НИ ОДИН0Никакая ошибка не произошла.  
    INVALID_THREAD10Переданный поток является нулем, не является допустимым потоком или вышел.  
    INVALID_THREAD_GROUP11Недопустимая группа потока.  
    INVALID_PRIORITY12Недопустимый приоритет.  
    THREAD_NOT_SUSPENDED13Если указанный поток не был приостановлен событием.  
    THREAD_SUSPENDED14Поток уже приостанавливается.  
    THREAD_NOT_ALIVE15Поток не был запущен или теперь мертв.  
    INVALID_OBJECT20Если этот ссылочный тип был разгружен и собрал "мусор".  
    INVALID_CLASS21Недопустимый class.  
    CLASS_NOT_PREPARED22Класс был загружен, но еще не подготовлен.  
    INVALID_METHODID23Недопустимый метод.  
    INVALID_LOCATION24Недопустимое расположение.  
    INVALID_FIELDID25Недопустимое поле.  
    INVALID_FRAMEID30Недопустимый jframeID.  
    NO_MORE_FRAMES31Нет больше Java или фреймов JNI на стеке вызовов.  
    OPAQUE_FRAME32Информация о фрейме не доступна.  
    NOT_CURRENT_FRAME33Работа может только быть выполнена на текущем фрейме.  
    TYPE_MISMATCH34Переменная не является соответствующим типом для используемой функции.  
    INVALID_SLOT35Недопустимый слот.  
    КОПИЯ40Элемент уже устанавливается.  
    NOT_FOUND41Требуемый элемент, не найденный.  
    INVALID_MONITOR50Недопустимый монитор.  
    NOT_MONITOR_OWNER51Этому потоку не принадлежит монитор.  
    ПРЕРЫВАНИЕ52Вызов был прерван перед завершением.  
    INVALID_CLASS_FORMAT60Виртуальная машина, предпринятая, чтобы считать файл class и, решила, что файл уродлив или иначе не может быть интерпретирован как файл class.  
    CIRCULAR_CLASS_DEFINITION61Зацикливание было обнаружено, инициализируя class.  
    FAILS_VERIFICATION62Верификатор, обнаруженный, что файл class, хотя хорошо формирующийся, содержал своего рода внутреннюю несогласованность или проблему безопасности.  
    ADD_METHOD_NOT_IMPLEMENTED63Добавление методов не было реализовано.  
    SCHEMA_CHANGE_NOT_IMPLEMENTED64Изменение схемы не было реализовано.  
    INVALID_TYPESTATE65Состояние потока было изменено, и теперь непоследовательно.  
    HIERARCHY_CHANGE_NOT_IMPLEMENTED66Прямой суперкласс отличается для новой версии class, или набор непосредственно реализованных интерфейсов отличается, и canUnrestrictedlyRedefineClasses является ложью.  
    DELETE_METHOD_NOT_IMPLEMENTED67Новая версия class не объявляет метод, объявленный в старой версии class, и canUnrestrictedlyRedefineClasses является ложью.  
    UNSUPPORTED_VERSION68У файла class есть номер версии, не поддерживаемый этим VM.  
    NAMES_DONT_MATCH69Имя class, определенное в новом файле class, отличается от имени в старом объекте class.  
    CLASS_MODIFIERS_CHANGE_NOT_IMPLEMENTED70У новой версии class есть различные модификаторы и и canUnrestrictedlyRedefineClasses является ложью.  
    METHOD_MODIFIERS_CHANGE_NOT_IMPLEMENTED71У метода в новой версии class есть различные модификаторы, чем ее дубликат в старой версии class и и canUnrestrictedlyRedefineClasses является ложью.  
    NOT_IMPLEMENTED99Функциональность не реализуется в этой виртуальной машине.  
    NULL_POINTER100Недопустимый указатель.  
    ABSENT_INFORMATION101Требуемая информация не доступна.  
    INVALID_EVENT_TYPE102Указанный идентификатор типа события не распознается.  
    ILLEGAL_ARGUMENT103Недопустимый параметр.  
    OUT_OF_MEMORY110Функция должна была выделить память, и больше памяти не было доступно для выделения.  
    ACCESS_DENIED111Отладка не была включена в этой виртуальной машине. JVMTI не может использоваться.  
    VM_DEAD112Виртуальная машина не работает.  
    ВНУТРЕННИЙ113Произошла неожиданная внутренняя ошибка.  
    UNATTACHED_THREAD115Поток, используемый, чтобы вызвать эту функцию, не присоединен к виртуальной машине. Вызовы должны быть выполнены от присоединенных потоков.  
    INVALID_TAG500объектный идентификатор типа или тег class.  
    ALREADY_INVOKING502Предыдущий вызывают не полный.  
    INVALID_INDEX503Индексируйте недопустимо.  
    INVALID_LENGTH504Длина недопустима.  
    INVALID_STRING506Строка недопустима.  
    INVALID_CLASS_LOADER507Загрузчик class недопустим.  
    INVALID_ARRAY508Массив недопустим.  
    TRANSPORT_LOAD509Неспособный загрузить транспорт.  
    TRANSPORT_INIT510Неспособный инициализировать транспорт.  
    NATIVE_METHOD511  
    INVALID_COUNT512Количество недопустимо.  

    Константы EventKind

    SINGLE_STEP1  
    КОНТРОЛЬНАЯ ТОЧКА2  
    FRAME_POP3  
    ИСКЛЮЧЕНИЕ4  
    USER_DEFINED5  
    THREAD_START6  
    THREAD_DEATH7  
    THREAD_END7устаревший - использовался в jvmdi  
    CLASS_PREPARE8  
    CLASS_UNLOAD9  
    CLASS_LOAD10  
    FIELD_ACCESS20  
    FIELD_MODIFICATION21  
    EXCEPTION_CATCH30  
    METHOD_ENTRY40  
    METHOD_EXIT41  
    METHOD_EXIT_WITH_RETURN_VALUE42  
    MONITOR_CONTENDED_ENTER43  
    MONITOR_CONTENDED_ENTERED44  
    MONITOR_WAIT45  
    MONITOR_WAITED46  
    VM_START90  
    VM_INIT90устаревший - использовался в jvmdi  
    VM_DEATH99  
    VM_DISCONNECTED100Никогда отправляемый через JDWP  

    Константы ThreadStatus

    ЗОМБИ0  
    ВЫПОЛНЕНИЕ1  
    СОН2  
    МОНИТОР3  
    ОЖИДАТЬ4  

    Константы SuspendStatus

    SUSPEND_STATUS_SUSPENDED0x1  

    Константы ClassStatus

    ПРОВЕРЕННЫЙ1  
    ГОТОВЫЙ2  
    ИНИЦИАЛИЗИРОВАННЫЙ4  
    ОШИБКА8  

    Константы TypeTag

    КЛАСС1ReferenceType является class.  
    ИНТЕРФЕЙС2ReferenceType является интерфейсом.  
    МАССИВ3ReferenceType является массивом.  

    Константы тега

    МАССИВ91'[' - объект массива (objectID размер).  
    БАЙТ66'B' - значение байта (1 байт).  
    CHAR67'C' - символьное значение (2 байта).  
    ОБЪЕКТ76'L' - объект (objectID размер).  
    ПЛАВАНИЕ70'F' - значение плавающее (4 байта).  
    ДВОЙНОЙ68'D' - двойное значение (8 байтов).  
    INT73'Я' - международное значение (4 байта).  
    ДОЛГО74'J' - длинное значение (8 байтов).  
    КОРОТКИЙ83'S' - короткое значение (2 байта).  
    ПУСТО86'V' - пустое значение (никакие байты).  
    БУЛЕВ90'Z' - булево значение (1 байт).  
    СТРОКА115's' - Строковый объект (objectID размер).  
    ПОТОК116't' - объект Потока (objectID размер).  
    THREAD_GROUP103'г' - объект ThreadGroup (objectID размер).  
    CLASS_LOADER108'l' - объект ClassLoder (objectID размер).  
    CLASS_OBJECT99'c' - class возражают объекту (objectID размер).  

    Константы StepDepth

    В0Шаг в любые вызовы метода, которые происходят перед концом шага.  
    1Переступите через любые вызовы метода, которые происходят перед концом шага.  
    2Шаг из текущего метода.  

    Константы StepSize

    МИН0Шаг минимальным возможным количеством (часто инструкция байт-кода).  
    СТРОКА1Ступите в следующую исходную строку, если нет никакой информации о номере строки, когда шаг МИН делается вместо этого.  

    Константы SuspendPolicy

    НИ ОДИН0Не приостановите потоки, когда с этим событием встречаются.  
    EVENT_THREAD1Приостановите поток события, когда с этим событием встречаются.  
    ВСЕ2Приостановите все потоки, когда с этим событием встречаются.  

    Константы InvokeOptions

    Вызвать опции являются комбинацией нуля или большего количества следующих битовых флагов:
    INVOKE_SINGLE_THREADED0x01иначе, все потоки запускались.  
    INVOKE_NONVIRTUAL0x02иначе, нормальный виртуальный вызывают (методы экземпляра только)