- すべてのスーパー・インタフェース:
- Mirror
- 既知のすべてのサブインタフェース:
- PathSearchingVirtualMachine
public interface VirtualMachine extends Mirror
mirrorです。 ほかのすべてのミラーは、このインタフェースのインスタンスと関連しています。 ほかのすべてのミラーへのアクセスは、このインタフェースのインスタンスを介して、直接または間接的に行います。 大域VMプロパティへのアクセスおよびVMの実行の制御は、このインタフェースから直接行います。 
 
 このインタフェースのインスタンスは、Connectorのインスタンスによって作成されます。 たとえば、AttachingConnectorは、ターゲットVMに接続し、その仮想マシンのミラーを返します。 コネクタは、通常、VirtualMachineManagerのVirtualMachineManager.createVirtualMachine(Connection) createVirtualMachine(Connection)メソッドを呼び出して、仮想マシンを作成します。 
 
 起動コネクタにより起動されたターゲットVMは、VMStartEventが受け入れられるまで安定であることを保証されていません。
 
 ターゲットVMが切断されていて、VMDisconnectEventがEventQueueから読み出されたか読出せる場合は、VirtualMachineをパラメータとして取るVirtualMachine上のメソッドはVMDisconnectedExceptionをスローします。
 
 VirtualMachineをパラメータとして取るVirtualMachine上のメソッドは、ターゲットVMのメモリーが不足した場合にVMOutOfMemoryExceptionをスローします。
- 導入されたバージョン:
- 1.3
- 
フィールドのサマリーフィールド 修飾子と型 フィールド 説明 static intTRACE_ALLすべてのトレースが有効になります。static intTRACE_EVENTS内部イベント処理のトレースが有効になります。static intTRACE_NONEすべてのトレースが無効になります。static intTRACE_OBJREFSオブジェクト参照の内部管理のトレースが有効になります。static intTRACE_RECEIVESターゲットVMから受信されるJDWPパケットのトレースが有効になります。static intTRACE_REFTYPES参照型の内部管理のトレースが有効になります。static intTRACE_SENDSターゲットVMに送信されるJDWPパケットのトレースが有効になります。
- 
メソッドのサマリー修飾子と型 メソッド 説明 List<ReferenceType>allClasses()ロード済みのすべての型を返します。default List<ModuleReference>allModules()すべてのモジュールを返します。List<ThreadReference>allThreads()現在実行中のスレッドのリストを返します。booleancanAddMethod()ターゲットVMでクラス再定義の実行時にメソッドを追加できるかどうかを判定します。booleancanBeModified()ターゲットVMが読取り専用VMであるかどうかを判定します。booleancanForceEarlyReturn()ターゲットVMでメソッドの強制的な早期復帰がサポートされているかどうかを判定します。booleancanGetBytecodes()ターゲットVMでメソッドのバイト・コードの検索がサポートされているかどうかを判定します。booleancanGetClassFileVersion()ターゲットVMで、クラス・ファイルのメジャー・バージョン番号とマイナー・バージョン番号の読取りがサポートされているかどうかを判定します。booleancanGetConstantPool()ターゲットVMで、クラスの定数プール情報の取得がサポートされているかどうかを判定します。booleancanGetCurrentContendedMonitor()ターゲットVMでスレッドが現在待機しているモニターの検索がサポートされているかどうかを判定します。booleancanGetInstanceInfo()ターゲットVMで、クラス・インスタンス、インスタンス数、および参照オブジェクトのアクセスがサポートされているかどうかを判定します。booleancanGetMethodReturnValues()ターゲットVMで、MethodExitEventに戻り値を含める機能がサポートされているかどうかを判定します。default booleancanGetModuleInfo()ターゲットVMがモジュールに関する情報を取得できるかどうかを判定します。booleancanGetMonitorFrameInfo()ターゲットVMで、モニター獲得フレームの情報の取得がサポートされているかどうかを判定します。booleancanGetMonitorInfo()ターゲットVMでオブジェクトのモニター情報の検索がサポートされているかどうかを判定します。booleancanGetOwnedMonitorInfo()ターゲットVMでスレッドが所有しているモニターの検索がサポートされているかどうかを判定します。booleancanGetSourceDebugExtension()ターゲットVMでソース・デバッグ拡張機能の取得がサポートされているかどうかを判定します。booleancanGetSyntheticAttribute()ターゲットVMでメソッドまたはフィールドの合成属性の問い合わせがサポートされているかどうかを判定します。booleancanPopFrames()ターゲットVMでスレッド・スタックからのフレームのポップがサポートされているかどうかを判定します。booleancanRedefineClasses()ターゲットVMで任意のレベルのクラス再定義がサポートされているかどうかを判定します。booleancanRequestMonitorEvents()ターゲットVMで、MonitorContendedEnterRequestの作成がサポートされているかどうかを判定します。booleancanRequestVMDeathEvent()ターゲットVMで、VMDeathRequestの作成がサポートされているかどうかを判定します。booleancanUnrestrictedlyRedefineClasses()ターゲットVMが、redefineClasses(java.util.Map<? extends com.sun.jdi.ReferenceType, byte[]>)によって制限されるクラスの再定義を実行するときに変更をサポートするかどうかを決定します。booleancanUseInstanceFilters()ターゲットVMで特定のインスタンス・オブジェクトによるイベントのフィルタ処理がサポートされているかどうかを判定します。booleancanUseSourceNameFilters()ターゲットVMで、ソース名によるクラス準備イベントのフィルタがサポートされているかどうかを判定します。booleancanWatchFieldAccess()ターゲットVMでフィールド・アクセスのウォッチポイントがサポートされているかどうかを判定します。booleancanWatchFieldModification()ターゲットVMでフィールド変更のウォッチポイントがサポートされているかどうかを判定します。List<ReferenceType>classesByName(String className)指定された名前に一致するロード済みの参照型を返します。Stringdescription()ターゲットVM、およびターゲットVMをミラー化するデバッガのサポートについてのテキスト情報を返します。voiddispose()この仮想マシンのミラーを無効にします。EventQueueeventQueue()この仮想マシンのイベント・キューを返します。EventRequestManagereventRequestManager()この仮想マシンのイベント要求マネージャを返します。voidexit(int exitCode)ミラー化されたVMが、特定のエラー・コードで終了します。StringgetDefaultStratum()VMのデフォルト層を返します。long[]instanceCounts(List<? extends ReferenceType> refTypes)refTypesリスト内の各ReferenceTypeのインスタンス数を返します。BooleanValuemirrorOf(boolean value)指定された値に対応するBooleanValueを作成します。ByteValuemirrorOf(byte value)指定された値に対応するByteValueを作成します。CharValuemirrorOf(char value)指定された値に対応するCharValueを作成します。DoubleValuemirrorOf(double value)指定された値に対応するDoubleValueを作成します。FloatValuemirrorOf(float value)指定された値に対応するFloatValueを作成します。IntegerValuemirrorOf(int value)指定された値に対応するIntegerValueを作成します。LongValuemirrorOf(long value)指定された値に対応するLongValueを作成します。ShortValuemirrorOf(short value)指定された値に対応するShortValueを作成します。StringReferencemirrorOf(String value)この仮想マシン内に文字列を作成します。VoidValuemirrorOfVoid()VoidValueを作成します。Stringname()ターゲットVMの名前をプロパティjava.vm.nameに指定されている方法で返します。Processprocess()この仮想マシンがLaunchingConnectorで起動されている場合は、そのProcessオブジェクトを返します。voidredefineClasses(Map<? extends ReferenceType,byte[]> classToBytes)指定されたクラスはすべて、提供される定義に従って再定義されます。voidresume()この仮想マシンで動作中のアプリケーションの実行を再開します。voidsetDebugTraceMode(int traceFlags)com.sun.jdi実装によって実行される動作をトレースします。voidsetDefaultStratum(String stratum)このVMのデフォルト層を設定します(層についてはLocationを参照)。voidsuspend()この仮想マシンで実行中のアプリケーションの実行を中断します。List<ThreadGroupReference>topLevelThreadGroups()親を持たない各スレッド・グループを返します。Stringversion()ターゲットVM内のJava Runtime Environmentのバージョンを、java.versionプロパティに指定されている方法で返します。
- 
フィールド詳細- 
TRACE_NONEstatic final int TRACE_NONEすべてのトレースが無効になります。- 関連項目:
- 定数フィールド値
 
- 
TRACE_SENDSstatic final int TRACE_SENDSターゲットVMに送信されるJDWPパケットのトレースが有効になります。- 関連項目:
- 定数フィールド値
 
- 
TRACE_RECEIVESstatic final int TRACE_RECEIVESターゲットVMから受信されるJDWPパケットのトレースが有効になります。- 関連項目:
- 定数フィールド値
 
- 
TRACE_EVENTSstatic final int TRACE_EVENTS内部イベント処理のトレースが有効になります。- 関連項目:
- 定数フィールド値
 
- 
TRACE_REFTYPESstatic final int TRACE_REFTYPES参照型の内部管理のトレースが有効になります。- 関連項目:
- 定数フィールド値
 
- 
TRACE_OBJREFSstatic final int TRACE_OBJREFSオブジェクト参照の内部管理のトレースが有効になります。- 関連項目:
- 定数フィールド値
 
- 
TRACE_ALLstatic final int TRACE_ALLすべてのトレースが有効になります。- 関連項目:
- 定数フィールド値
 
 
- 
- 
メソッドの詳細- 
allModulesdefault List<ModuleReference> allModules()すべてのモジュールを返します。 ターゲットVMの各モジュールに対して、ModuleReferenceが返されるリストに配置されます。この操作は、ターゲット仮想マシンでサポートされていないことがあります。 canGetModuleInfo()を使用して、操作がサポートされているかどうかを判断します。- 実装要件:
- デフォルト実装はUnsupportedOperationExceptionをスローします。
- 戻り値:
- ModuleReferenceオブジェクトのリスト。各オブジェクトはターゲットVM内のモジュールをミラー・リングします。
- 例外:
- UnsupportedOperationException- ターゲット仮想マシンがこの操作をサポートしていない場合。
- 導入されたバージョン:
- 9
 
- 
classesByNameList<ReferenceType> classesByName(String className)指定された名前に一致するロード済みの参照型を返します。 名前は、java.lang.Stringのように完全指定する必要があります。 返されるリストには、指定された名前を使用して検索された各クラスまたはインタフェースのReferenceTypeが含まれます。 ロード済みのクラス以外は検索されません。指定された名前のクラスはロードされません。返されるリストには、準備の段階でロード済みの参照型、および準備が定義されていない型(配列など)が含まれます。 - パラメータ:
- className- 検索するクラスとインタフェースの名前
- 戻り値:
- ターゲットVMの指定された名前の型をミラー化するReferenceTypeオブジェクトのリスト。
 
- 
allClassesList<ReferenceType> allClasses()ロード済みのすべての型を返します。 返されるリストには、ターゲットVMのロード済みの型ごとに、ReferenceTypeが出力されます。 このリストには、クラス、インタフェース、および配列の型をミラー化するReferenceTypeが含まれます。返されるリストには、準備の段階でロード済みの参照型、および準備が定義されていない型(配列など)が含まれます。 - 戻り値:
- ターゲットVMのロード済みの型をミラー化するReferenceTypeオブジェクトのリスト。
 
- 
redefineClassesvoid redefineClasses(Map<? extends ReferenceType,byte[]> classToBytes)指定されたクラスはすべて、提供される定義に従って再定義されます。 再定義されたクラスのメソッドは、次の場合に「(メソッドの旧バージョンに対して)等価である」と言います。- 双方のメソッドのバイト・コードが同じ(定数プールのインデックスを除く)
- 参照定数が等しい。
 Method.isObsolete()はtrueを返します。 このスタック・フレームを再設定する必要がある場合は、ThreadReference.popFrames(StackFrame)を使用して、スタックから旧バージョンの廃止されたメソッド実行をポップします。 再定義されたメソッドを新しく呼び出すと、常に新しいバージョンが呼び出されます。この関数により、一般的なJVMセマンティックスのもとで行われる以外の初期化は起こりません。 つまり、クラスの再定義では、クラスの初期化子は実行されません。 既存のスタティック変数は、呼出し前の状態のままです。 ただし、まったく初期化されていない(新しい)スタティック変数には、デフォルト値が割り当てられます。 再定義したクラスにインスタンスがある場合、そのインスタンスのフィールドは呼出し完了時に再定義したクラスで定義されます。 既存のフィールドは以前の値を保持します。 新しいフィールドはデフォルト値となります。インスタンス・イニシャライザやコンストラクタは実行しません。 スレッドを中断する必要はありません。 この関数によって生成されるイベントはありません。 再定義されたクラス内のブレークポイントはすべて削除されます。 この操作は、ターゲット仮想マシンでサポートされていないことがあります。 この操作がサポートされているかどうかを確認するには、 canRedefineClasses()を使用します。 再定義によってメソッドを追加できるかどうかを確認するには、canAddMethod()を使用してください。 再定義によってスキーマの変更、メソッドの削除、クラス階層の変更などが可能かどうかを確認するには、canUnrestrictedlyRedefineClasses()を使用してください。- パラメータ:
- classToBytes-- ReferenceTypeからバイト配列へのマップ。 バイトは、新しいクラス定義を示す。また、Java仮想マシンのクラス・ファイル形式である。
- 例外:
- UnsupportedOperationException- ターゲット仮想マシンがこの操作をサポートしていない場合。- canRedefineClasses()がfalseの場合にこのメソッドを呼び出すと、この例外がスローされる。
- canAddMethod()がfalseの場合にメソッドを追加しようとすると、この例外がスローされる。
- canUnrestrictedlyRedefineClasses()がfalseの場合に次のいずれかの操作を試行すると、この例外がスローされる- スキーマ(フィールド)の変更
- 階層(スーパークラス、インタフェース)の変更
- メソッドの削除
- クラス修飾子の変更
- メソッド修飾子の変更
- NestHost、- NestMembersまたは- Recordクラス属性の変更
 
 
- NoClassDefFoundError- バイトが参照型と対応していない(名前が一致していない)場合。
- VerifyError- 「ベリファイア」が、正しい形式ではあるが、内部に整合性またはセキュリティに関する問題を含むクラスを検出した場合。
- ClassFormatError- バイトが有効なクラスを表現していない場合。
- ClassCircularityError- クラスの初期化中に循環が検出された場合。
- UnsupportedClassVersionError- バイト内のメジャー・バージョン番号とマイナー・バージョン番号がVMによってサポートされていない場合。
- VMCannotBeModifiedException- VirtualMachineが読取り専用の場合(- canBeModified()を参照)。
- 導入されたバージョン:
- 1.4
- 関連項目:
- Method.isObsolete(),- ThreadReference.popFrames(com.sun.jdi.StackFrame),- canRedefineClasses(),- canAddMethod(),- canUnrestrictedlyRedefineClasses()
 
- 
allThreadsList<ThreadReference> allThreads()現在実行中のスレッドのリストを返します。 リストには、ターゲットVMの実行中のスレッドごとに、そのスレッドをミラー化するThreadReferenceが出力されます。 返されるリストには、java.lang.Threadで作成されたスレッド、JNIを介してターゲットVMに接続されたすべてのネイティブ・スレッド、およびターゲットVMにより作成されたシステム・スレッドが含まれます。 開始していないスレッド・オブジェクト(Thread.start()を参照)、および実行が完了したスレッド・オブジェクトは、返されるリスト内に含まれません。- 戻り値:
- ThreadReferenceオブジェクトのリスト。ミラー化されたVM内で実行されている各スレッドに1つ。
 
- 
suspendvoid suspend()この仮想マシンで実行中のアプリケーションの実行を中断します。 現在実行中のすべてのスレッドが中断されます。Thread.suspend()とは異なり、仮想マシンと個々のスレッド両方の中断がカウントされます。 スレッドを再実行する前に、中断された回数と同じ数の再開が(resume()またはThreadReference.resume()によって)行われなければなりません。- 例外:
- VMCannotBeModifiedException- VirtualMachineが読取り専用の場合(- canBeModified()を参照)。
 
- 
resumevoid resume()この仮想マシンで動作中のアプリケーションの実行を再開します。 すべてのスレッドは、ThreadReference.resume()に記述されている方法で再開されます。- 例外:
- VMCannotBeModifiedException- VirtualMachineが読取り専用の場合(- canBeModified()を参照)。
- 関連項目:
- suspend()
 
- 
topLevelThreadGroupsList<ThreadGroupReference> topLevelThreadGroups()親を持たない各スレッド・グループを返します。 返されるリストには、トップ・レベルのスレッド・グループごとにThreadGroupReferenceが出力されます。このコマンドは、既存のスレッド・グループの(1つまたは複数の)ツリーを構築する最初のステップとして使用できます。 - 戻り値:
- ThreadGroupReferenceオブジェクトのリスト。トップ・レベルの各スレッド・グループに1つ。
 
- 
eventQueueEventQueue eventQueue()この仮想マシンのイベント・キューを返します。 仮想マシンはEventQueueオブジェクトを1つだけ持ち、このメソッドは呼び出されるたびに同じインスタンスを返します。- 戻り値:
- この仮想マシンのEventQueue。
- 例外:
- VMCannotBeModifiedException- VirtualMachineが読取り専用の場合(- canBeModified()を参照)。
 
- 
eventRequestManagerEventRequestManager eventRequestManager()この仮想マシンのイベント要求マネージャを返します。EventRequestManagerは、ブレークポイントなどのユーザーが設定可能なイベントを制御します。 仮想マシンはEventRequestManagerオブジェクトを1つだけ持ち、このメソッドは呼び出されるたびに同じインスタンスを返します。- 戻り値:
- この仮想マシンのEventRequestManager。
- 例外:
- VMCannotBeModifiedException- VirtualMachineが読取り専用の場合(- canBeModified()を参照)。
 
- 
mirrorOfBooleanValue mirrorOf(boolean value)指定された値に対応するBooleanValueを作成します。 この値を使用して、この仮想マシンの変数またはフィールドから取得した値の設定および比較を行うことができます。- パラメータ:
- value- 値を作成するboolean値
- 戻り値:
- 指定された値に対応するBooleanValue。
 
- 
mirrorOfByteValue mirrorOf(byte value)指定された値に対応するByteValueを作成します。 この値を使用して、この仮想マシンの変数またはフィールドから取得した値の設定および比較を行うことができます。- パラメータ:
- value- 値を作成するbyte値
- 戻り値:
- 指定された値に対応するByteValue。
 
- 
mirrorOfCharValue mirrorOf(char value)指定された値に対応するCharValueを作成します。 この値を使用して、この仮想マシンの変数またはフィールドから取得した値の設定および比較を行うことができます。- パラメータ:
- value- 値を作成するchar値
- 戻り値:
- 指定された値に対応するCharValue。
 
- 
mirrorOfShortValue mirrorOf(short value)指定された値に対応するShortValueを作成します。 この値を使用して、この仮想マシンの変数またはフィールドから取得した値の設定および比較を行うことができます。- パラメータ:
- value- 値を作成するshort値
- 戻り値:
- 指定された値に対応するShortValue。
 
- 
mirrorOfIntegerValue mirrorOf(int value)指定された値に対応するIntegerValueを作成します。 この値を使用して、この仮想マシンの変数またはフィールドから取得した値の設定および比較を行うことができます。- パラメータ:
- value- 値を作成するint値
- 戻り値:
- 指定された値に対応するIntegerValue。
 
- 
mirrorOfLongValue mirrorOf(long value)指定された値に対応するLongValueを作成します。 この値を使用して、この仮想マシンの変数またはフィールドから取得した値の設定および比較を行うことができます。- パラメータ:
- value- 値を作成するlong値
- 戻り値:
- 指定された値に対応するLongValue。
 
- 
mirrorOfFloatValue mirrorOf(float value)指定された値に対応するFloatValueを作成します。 この値を使用して、この仮想マシンの変数またはフィールドから取得した値の設定および比較を行うことができます。- パラメータ:
- value- 値を作成するfloat値
- 戻り値:
- 指定された値に対応するFloatValue。
 
- 
mirrorOfDoubleValue mirrorOf(double value)指定された値に対応するDoubleValueを作成します。 この値を使用して、この仮想マシンの変数またはフィールドから取得した値の設定および比較を行うことができます。- パラメータ:
- value- 値を作成するdouble値
- 戻り値:
- 指定された値に対応するDoubleValue。
 
- 
mirrorOfStringReference mirrorOf(String value)この仮想マシン内に文字列を作成します。 この文字列を使用して、この仮想マシンの変数またはフィールドから取得した文字列値の設定および比較を行うことができます。- パラメータ:
- value- 作成する文字列
- 戻り値:
- ターゲットVM内に新しく作成された文字列をミラー化するStringReference。
- 例外:
- VMCannotBeModifiedException- VirtualMachineが読取り専用の場合(- canBeModified()を参照)。
 
- 
mirrorOfVoidVoidValue mirrorOfVoid()VoidValueを作成します。 voidメソッドを終了するとき、この値をThreadReference.forceEarlyReturn(com.sun.jdi.Value)に渡すことができます。- 戻り値:
- VoidValue。
 
- 
processProcess process()この仮想マシンがLaunchingConnectorで起動されている場合は、そのProcessオブジェクトを返します。- 戻り値:
- この仮想マシンのProcessオブジェクト。この仮想マシンがLaunchingConnectorで起動されていない場合はnull。
- 例外:
- VMCannotBeModifiedException- VirtualMachineが読取り専用の場合(- canBeModified()を参照)。
 
- 
disposevoid dispose()この仮想マシンのミラーを無効にします。 ターゲットVMへの通信チャネルが閉じられ、ターゲットVMは、このデバッガまたは別のデバッガからの次の接続を受け付ける準備をします。これには、次のような作業が含まれます。- すべてのイベント要求が取り消される。
- suspend()または- ThreadReference.suspend()で中断されたすべてのスレッドを、実行に必要な回数だけ再開します。
- ガベージ・コレクションがObjectReference.disableCollection()によって無効になっている場合は、すべて有効にします。
 この仮想マシンを起源とするリソース(オブジェクト参照や参照型など)は、無効になります。 
- 
exitvoid exit(int exitCode)ミラー化されたVMが、特定のエラー・コードで終了します。 この仮想マシンに関連したすべてのリソースが解放されます。 ミラー化されたVMがリモートの場合は、通信チャネルが閉じます。 この仮想マシンを起源とするリソース(オブジェクト参照や参照型など)は、無効になります。ミラー化されたVM内で実行中のスレッドは、強制終了します。 スレッド終了例外はスローされないため、finallyブロックは実行されません。 - パラメータ:
- exitCode- ターゲットVMの終了コード。 プラットフォームによっては、終了コードが下位8ビットなどに切り詰められる場合がある。
- 例外:
- VMCannotBeModifiedException- VirtualMachineが読取り専用の場合(- canBeModified()を参照)。
 
- 
canWatchFieldModificationboolean canWatchFieldModification()ターゲットVMでフィールド変更のウォッチポイントがサポートされているかどうかを判定します。- 戻り値:
- 指定した機能がサポートされる場合はtrue、そうでない場合はfalse。
 
- 
canWatchFieldAccessboolean canWatchFieldAccess()ターゲットVMでフィールド・アクセスのウォッチポイントがサポートされているかどうかを判定します。- 戻り値:
- 指定した機能がサポートされる場合はtrue、そうでない場合はfalse。
 
- 
canGetBytecodesboolean canGetBytecodes()ターゲットVMでメソッドのバイト・コードの検索がサポートされているかどうかを判定します。- 戻り値:
- 指定した機能がサポートされる場合はtrue、そうでない場合はfalse。
 
- 
canGetSyntheticAttributeboolean canGetSyntheticAttribute()ターゲットVMでメソッドまたはフィールドの合成属性の問い合わせがサポートされているかどうかを判定します。- 戻り値:
- 指定した機能がサポートされる場合はtrue、そうでない場合はfalse。
 
- 
canGetOwnedMonitorInfoboolean canGetOwnedMonitorInfo()ターゲットVMでスレッドが所有しているモニターの検索がサポートされているかどうかを判定します。- 戻り値:
- 指定した機能がサポートされる場合はtrue、そうでない場合はfalse。
 
- 
canGetCurrentContendedMonitorboolean canGetCurrentContendedMonitor()ターゲットVMでスレッドが現在待機しているモニターの検索がサポートされているかどうかを判定します。- 戻り値:
- 指定した機能がサポートされる場合はtrue、そうでない場合はfalse。
 
- 
canGetMonitorInfoboolean canGetMonitorInfo()ターゲットVMでオブジェクトのモニター情報の検索がサポートされているかどうかを判定します。- 戻り値:
- 指定した機能がサポートされる場合はtrue、そうでない場合はfalse。
 
- 
canUseInstanceFiltersboolean canUseInstanceFilters()ターゲットVMで特定のインスタンス・オブジェクトによるイベントのフィルタ処理がサポートされているかどうかを判定します。 例については、BreakpointRequest.addInstanceFilter(com.sun.jdi.ObjectReference)を参照してください。- 戻り値:
- 指定した機能がサポートされる場合はtrue、そうでない場合はfalse。
 
- 
canRedefineClassesboolean canRedefineClasses()ターゲットVMで任意のレベルのクラス再定義がサポートされているかどうかを判定します。- 戻り値:
- 指定した機能がサポートされる場合はtrue、そうでない場合はfalse。
- 導入されたバージョン:
- 1.4
- 関連項目:
- redefineClasses(java.util.Map<? extends com.sun.jdi.ReferenceType, byte[]>)
 
- 
canAddMethodboolean canAddMethod()ターゲットVMでクラス再定義の実行時にメソッドを追加できるかどうかを判定します。- 戻り値:
- 指定した機能がサポートされる場合はtrue、そうでない場合はfalse。
- 導入されたバージョン:
- 1.4
- 関連項目:
- redefineClasses(java.util.Map<? extends com.sun.jdi.ReferenceType, byte[]>)
 
- 
canUnrestrictedlyRedefineClassesboolean canUnrestrictedlyRedefineClasses()ターゲットVMが、redefineClasses(java.util.Map<? extends com.sun.jdi.ReferenceType, byte[]>)によって制限されるクラスの再定義を実行するときに変更をサポートするかどうかを決定します。- 戻り値:
- 指定した機能がサポートされる場合はtrue、そうでない場合はfalse。
- 導入されたバージョン:
- 1.4
- 関連項目:
- redefineClasses(java.util.Map<? extends com.sun.jdi.ReferenceType, byte[]>)
 
- 
canPopFramesboolean canPopFrames()ターゲットVMでスレッド・スタックからのフレームのポップがサポートされているかどうかを判定します。- 戻り値:
- 指定した機能がサポートされる場合はtrue、そうでない場合はfalse。
- 導入されたバージョン:
- 1.4
- 関連項目:
- ThreadReference.popFrames(com.sun.jdi.StackFrame)
 
- 
canGetSourceDebugExtensionboolean canGetSourceDebugExtension()ターゲットVMでソース・デバッグ拡張機能の取得がサポートされているかどうかを判定します。- 戻り値:
- 指定した機能がサポートされる場合はtrue、そうでない場合はfalse。
- 導入されたバージョン:
- 1.4
- 関連項目:
- ReferenceType.sourceDebugExtension()
 
- 
canRequestVMDeathEventboolean canRequestVMDeathEvent()ターゲットVMで、VMDeathRequestの作成がサポートされているかどうかを判定します。- 戻り値:
- 指定した機能がサポートされる場合はtrue、そうでない場合はfalse。
- 導入されたバージョン:
- 1.4
- 関連項目:
- EventRequestManager.createVMDeathRequest()
 
- 
canGetMethodReturnValuesboolean canGetMethodReturnValues()ターゲットVMで、MethodExitEventに戻り値を含める機能がサポートされているかどうかを判定します。- 戻り値:
- 指定した機能がサポートされる場合はtrue、そうでない場合はfalse。
- 導入されたバージョン:
- 1.6
- 関連項目:
- EventRequestManager.createMethodExitRequest()
 
- 
canGetInstanceInfoboolean canGetInstanceInfo()ターゲットVMで、クラス・インスタンス、インスタンス数、および参照オブジェクトのアクセスがサポートされているかどうかを判定します。- 戻り値:
- 指定した機能がサポートされる場合はtrue、そうでない場合はfalse。
- 導入されたバージョン:
- 1.6
- 関連項目:
- instanceCounts(java.util.List<? extends com.sun.jdi.ReferenceType>),- ReferenceType.instances(long),- ObjectReference.referringObjects(long)
 
- 
canUseSourceNameFiltersboolean canUseSourceNameFilters()ターゲットVMで、ソース名によるクラス準備イベントのフィルタがサポートされているかどうかを判定します。ClassPrepareRequest.addSourceNameFilter(java.lang.String)を参照してください。- 戻り値:
- 指定した機能がサポートされる場合はtrue、そうでない場合はfalse。
- 導入されたバージョン:
- 1.6
 
- 
canForceEarlyReturnboolean canForceEarlyReturn()ターゲットVMでメソッドの強制的な早期復帰がサポートされているかどうかを判定します。- 戻り値:
- 指定した機能がサポートされる場合はtrue、そうでない場合はfalse。
- 導入されたバージョン:
- 1.6
- 関連項目:
- ThreadReference.forceEarlyReturn(Value)
 
- 
canBeModifiedboolean canBeModified()ターゲットVMが読取り専用VMであるかどうかを判定します。 VMの状態を変更するメソッドが読取り専用VMで呼び出されると、VMCannotBeModifiedExceptionがスローされます。- 戻り値:
- 指定した機能がサポートされる場合はtrue、そうでない場合はfalse。
- 導入されたバージョン:
- 1.5
 
- 
canRequestMonitorEventsboolean canRequestMonitorEvents()ターゲットVMで、MonitorContendedEnterRequestの作成がサポートされているかどうかを判定します。MonitorContendedEnteredRequests.MonitorWaitRequests.MonitorWaitedRequests.- 戻り値:
- 指定した機能がサポートされる場合はtrue、そうでない場合はfalse。
- 導入されたバージョン:
- 1.6
- 関連項目:
- EventRequestManager.createMonitorContendedEnterRequest(),- EventRequestManager.createMonitorContendedEnteredRequest(),- EventRequestManager.createMonitorWaitRequest(),- EventRequestManager.createMonitorWaitedRequest()
 
- 
canGetMonitorFrameInfoboolean canGetMonitorFrameInfo()ターゲットVMで、モニター獲得フレームの情報の取得がサポートされているかどうかを判定します。- 戻り値:
- 指定した機能がサポートされる場合はtrue、そうでない場合はfalse。
- 導入されたバージョン:
- 1.6
- 関連項目:
- ThreadReference.ownedMonitorsAndFrames()
 
- 
canGetClassFileVersionboolean canGetClassFileVersion()ターゲットVMで、クラス・ファイルのメジャー・バージョン番号とマイナー・バージョン番号の読取りがサポートされているかどうかを判定します。- 戻り値:
- 指定した機能がサポートされる場合はtrue、そうでない場合はfalse。
- 導入されたバージョン:
- 1.6
- 関連項目:
- ReferenceType.majorVersion(),- ReferenceType.minorVersion()
 
- 
canGetConstantPoolboolean canGetConstantPool()ターゲットVMで、クラスの定数プール情報の取得がサポートされているかどうかを判定します。- 戻り値:
- 指定した機能がサポートされる場合はtrue、そうでない場合はfalse。
- 導入されたバージョン:
- 1.6
- 関連項目:
- ReferenceType.constantPoolCount(),- ReferenceType.constantPool()
 
- 
canGetModuleInfodefault boolean canGetModuleInfo()ターゲットVMがモジュールに関する情報を取得できるかどうかを判定します。- 実装要件:
- デフォルトの実装ではfalseを返します。
- 戻り値:
- 指定した機能がサポートされる場合はtrue、そうでない場合はfalse
- 導入されたバージョン:
- 9
- 関連項目:
- allModules(),- ReferenceType.module(),- ModuleReference
 
- 
setDefaultStratumvoid setDefaultStratum(String stratum)このVMのデフォルト層を設定します(層についてはLocationを参照)。 この設定は、クラス・ファイルで設定されたクラスごとのデフォルトよりも優先されます。このメソッドは、 Location.sourceName()などの位置問い合わせと、ステップ実行時に使用する行の境界線に影響を与えます。- パラメータ:
- stratum- VMのデフォルトとして設定する層。クラスごとのデフォルトを使用する場合はnull。
- 例外:
- UnsupportedOperationException- ターゲット仮想マシンがこの操作をサポートしていない場合。
- 導入されたバージョン:
- 1.4
 
- 
getDefaultStratumString getDefaultStratum()VMのデフォルト層を返します。- 戻り値:
- setDefaultStratum(String)によってデフォルト層が設定されていない場合は- null。この場合、クラスごとのデフォルト(- ReferenceType.defaultStratum())が使用される。
- 導入されたバージョン:
- 1.4
- 関連項目:
- setDefaultStratum(String),- ReferenceType.defaultStratum()
 
- 
instanceCountslong[] instanceCounts(List<? extends ReferenceType> refTypes)refTypesリスト内の各ReferenceTypeのインスタンス数を返します。 ガベージ・コレクト目的で到達可能なインスタンスだけがカウントされます。この操作は、ターゲット仮想マシンでサポートされていないことがあります。 この操作がサポートされているかどうかを確認するには、 canGetInstanceInfo()を使用します。- パラメータ:
- refTypes- カウントを取得する- ReferenceTypeオブジェクトのリスト。
- 戻り値:
- refTypesリスト内の各要素につき要素を1つずつ含むlongの配列。 配列要素iには、refTypesリスト内の位置iにあるReferenceTypeのターゲットVM内のインスタンス数が含まれます。 refTypesリストが空リストの場合、長さゼロの配列が返されます。 refTypesリスト内のReferenceTypeがガベージ・コレクトされている場合、インスタンス数としてゼロが返されます。
- 例外:
- UnsupportedOperationException- ターゲット仮想マシンがこの操作をサポートしていない場合(次を参照)。- canGetInstanceInfo()
- NullPointerException- refTypesリストがnullである場合。
- 導入されたバージョン:
- 1.6
- 関連項目:
- ReferenceType.instances(long),- ObjectReference.referringObjects(long)
 
- 
descriptionString description()ターゲットVM、およびターゲットVMをミラー化するデバッガのサポートについてのテキスト情報を返します。 この情報に特定の形式は保証されていません。 通常は、ターゲットVMとデバッガ・インタフェースのバージョン情報が含まれます。 VMおよびJDIの正確なバージョン情報は、version()、VirtualMachineManager.majorInterfaceVersion()、およびVirtualMachineManager.minorInterfaceVersion()を使って取得できます。- 戻り値:
- 説明。
 
- 
versionString version()ターゲットVM内のJava Runtime Environmentのバージョンを、java.versionプロパティに指定されている方法で返します。 JDIインタフェースのバージョンを取得するには、VirtualMachineManager.majorInterfaceVersion()およびVirtualMachineManager.minorInterfaceVersion()を使用します。- 戻り値:
- ターゲットVMのバージョン。
 
- 
nameString name()ターゲットVMの名前をプロパティjava.vm.nameに指定されている方法で返します。- 戻り値:
- ターゲットVM名。
 
- 
setDebugTraceModevoid setDebugTraceMode(int traceFlags)com.sun.jdi実装によって実行される動作をトレースします。 すべてのトレース情報は、System.errに出力されます。 トレース・フラグは、出力する情報を制限するときに使用します。 指定したフラグは、このメソッドが次に呼び出されるまで有効で、対応するトレースが継続して行われます。出力は実装によって異なります。トレース・モードが無視される場合もあります。 - パラメータ:
- traceFlags- 有効にするトレースの種類を特定する。
 
 
-