- すべてのスーパー・インタフェース:
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 int
TRACE_ALL
すべてのトレースが有効になります。static int
TRACE_EVENTS
内部イベント処理のトレースが有効になります。static int
TRACE_NONE
すべてのトレースが無効になります。static int
TRACE_OBJREFS
オブジェクト参照の内部管理のトレースが有効になります。static int
TRACE_RECEIVES
ターゲットVMから受信されるJDWPパケットのトレースが有効になります。static int
TRACE_REFTYPES
参照型の内部管理のトレースが有効になります。static int
TRACE_SENDS
ターゲットVMに送信されるJDWPパケットのトレースが有効になります。 -
メソッドのサマリー
修飾子と型 メソッド 説明 List<ReferenceType>
allClasses()
ロード済みのすべての型を返します。default List<ModuleReference>
allModules()
すべてのモジュールを返します。List<ThreadReference>
allThreads()
現在実行中のスレッドのリストを返します。boolean
canAddMethod()
ターゲットVMでクラス再定義の実行時にメソッドを追加できるかどうかを判定します。boolean
canBeModified()
ターゲットVMが読取り専用VMであるかどうかを判定します。boolean
canForceEarlyReturn()
ターゲットVMでメソッドの強制的な早期復帰がサポートされているかどうかを判定します。boolean
canGetBytecodes()
ターゲットVMでメソッドのバイト・コードの検索がサポートされているかどうかを判定します。boolean
canGetClassFileVersion()
ターゲットVMで、クラス・ファイルのメジャー・バージョン番号とマイナー・バージョン番号の読取りがサポートされているかどうかを判定します。boolean
canGetConstantPool()
ターゲットVMで、クラスの定数プール情報の取得がサポートされているかどうかを判定します。boolean
canGetCurrentContendedMonitor()
ターゲットVMでスレッドが現在待機しているモニターの検索がサポートされているかどうかを判定します。boolean
canGetInstanceInfo()
ターゲットVMで、クラス・インスタンス、インスタンス数、および参照オブジェクトのアクセスがサポートされているかどうかを判定します。boolean
canGetMethodReturnValues()
ターゲットVMで、MethodExitEvent
に戻り値を含める機能がサポートされているかどうかを判定します。default boolean
canGetModuleInfo()
ターゲットVMがモジュールに関する情報を取得できるかどうかを判定します。boolean
canGetMonitorFrameInfo()
ターゲットVMで、モニター獲得フレームの情報の取得がサポートされているかどうかを判定します。boolean
canGetMonitorInfo()
ターゲットVMでオブジェクトのモニター情報の検索がサポートされているかどうかを判定します。boolean
canGetOwnedMonitorInfo()
ターゲットVMでスレッドが所有しているモニターの検索がサポートされているかどうかを判定します。boolean
canGetSourceDebugExtension()
ターゲットVMでソース・デバッグ拡張機能の取得がサポートされているかどうかを判定します。boolean
canGetSyntheticAttribute()
ターゲットVMでメソッドまたはフィールドの合成属性の問い合わせがサポートされているかどうかを判定します。boolean
canPopFrames()
ターゲットVMでスレッド・スタックからのフレームのポップがサポートされているかどうかを判定します。boolean
canRedefineClasses()
ターゲットVMで任意のレベルのクラス再定義がサポートされているかどうかを判定します。boolean
canRequestMonitorEvents()
ターゲットVMで、MonitorContendedEnterRequest
の作成がサポートされているかどうかを判定します。boolean
canRequestVMDeathEvent()
ターゲットVMで、VMDeathRequest
の作成がサポートされているかどうかを判定します。boolean
canUnrestrictedlyRedefineClasses()
ターゲットVMが、redefineClasses(java.util.Map<? extends com.sun.jdi.ReferenceType, byte[]>)
によって制限されるクラスの再定義を実行するときに変更をサポートするかどうかを決定します。boolean
canUseInstanceFilters()
ターゲットVMで特定のインスタンス・オブジェクトによるイベントのフィルタ処理がサポートされているかどうかを判定します。boolean
canUseSourceNameFilters()
ターゲットVMで、ソース名によるクラス準備イベントのフィルタがサポートされているかどうかを判定します。boolean
canWatchFieldAccess()
ターゲットVMでフィールド・アクセスのウォッチポイントがサポートされているかどうかを判定します。boolean
canWatchFieldModification()
ターゲットVMでフィールド変更のウォッチポイントがサポートされているかどうかを判定します。List<ReferenceType>
classesByName(String className)
指定された名前に一致するロード済みの参照型を返します。String
description()
ターゲットVM、およびターゲットVMをミラー化するデバッガのサポートについてのテキスト情報を返します。void
dispose()
この仮想マシンのミラーを無効にします。EventQueue
eventQueue()
この仮想マシンのイベント・キューを返します。EventRequestManager
eventRequestManager()
この仮想マシンのイベント要求マネージャを返します。void
exit(int exitCode)
ミラー化されたVMが、特定のエラー・コードで終了します。String
getDefaultStratum()
VMのデフォルト層を返します。long[]
instanceCounts(List<? extends ReferenceType> refTypes)
refTypesリスト内の各ReferenceTypeのインスタンス数を返します。BooleanValue
mirrorOf(boolean value)
指定された値に対応するBooleanValue
を作成します。ByteValue
mirrorOf(byte value)
指定された値に対応するByteValue
を作成します。CharValue
mirrorOf(char value)
指定された値に対応するCharValue
を作成します。DoubleValue
mirrorOf(double value)
指定された値に対応するDoubleValue
を作成します。FloatValue
mirrorOf(float value)
指定された値に対応するFloatValue
を作成します。IntegerValue
mirrorOf(int value)
指定された値に対応するIntegerValue
を作成します。LongValue
mirrorOf(long value)
指定された値に対応するLongValue
を作成します。ShortValue
mirrorOf(short value)
指定された値に対応するShortValue
を作成します。StringReference
mirrorOf(String value)
この仮想マシン内に文字列を作成します。VoidValue
mirrorOfVoid()
VoidValue
を作成します。String
name()
ターゲットVMの名前をプロパティjava.vm.name
に指定されている方法で返します。Process
process()
この仮想マシンがLaunchingConnector
で起動されている場合は、そのProcess
オブジェクトを返します。void
redefineClasses(Map<? extends ReferenceType,byte[]> classToBytes)
指定されたクラスはすべて、提供される定義に従って再定義されます。void
resume()
この仮想マシンで動作中のアプリケーションの実行を再開します。void
setDebugTraceMode(int traceFlags)
com.sun.jdi実装によって実行される動作をトレースします。void
setDefaultStratum(String stratum)
このVMのデフォルト層を設定します(層についてはLocation
を参照)。void
suspend()
この仮想マシンで実行中のアプリケーションの実行を中断します。List<ThreadGroupReference>
topLevelThreadGroups()
親を持たない各スレッド・グループを返します。String
version()
ターゲットVM内のJava Runtime Environmentのバージョンを、java.version
プロパティに指定されている方法で返します。
-
フィールド詳細
-
TRACE_NONE
static final int TRACE_NONEすべてのトレースが無効になります。- 関連項目:
- 定数フィールド値
-
TRACE_SENDS
static final int TRACE_SENDSターゲットVMに送信されるJDWPパケットのトレースが有効になります。- 関連項目:
- 定数フィールド値
-
TRACE_RECEIVES
static final int TRACE_RECEIVESターゲットVMから受信されるJDWPパケットのトレースが有効になります。- 関連項目:
- 定数フィールド値
-
TRACE_EVENTS
static final int TRACE_EVENTS内部イベント処理のトレースが有効になります。- 関連項目:
- 定数フィールド値
-
TRACE_REFTYPES
static final int TRACE_REFTYPES参照型の内部管理のトレースが有効になります。- 関連項目:
- 定数フィールド値
-
TRACE_OBJREFS
static final int TRACE_OBJREFSオブジェクト参照の内部管理のトレースが有効になります。- 関連項目:
- 定数フィールド値
-
TRACE_ALL
static final int TRACE_ALLすべてのトレースが有効になります。- 関連項目:
- 定数フィールド値
-
-
メソッドの詳細
-
allModules
default List<ModuleReference> allModules()すべてのモジュールを返します。 ターゲットVMの各モジュールに対して、ModuleReference
が返されるリストに配置されます。この操作は、ターゲット仮想マシンでサポートされていないことがあります。
canGetModuleInfo()
を使用して、操作がサポートされているかどうかを判断します。- 実装要件:
- デフォルト実装は
UnsupportedOperationException
をスローします。 - 戻り値:
ModuleReference
オブジェクトのリスト。各オブジェクトはターゲットVM内のモジュールをミラー・リングします。- 例外:
UnsupportedOperationException
- ターゲット仮想マシンがこの操作をサポートしていない場合。- 導入されたバージョン:
- 9
-
classesByName
List<ReferenceType> classesByName(String className)指定された名前に一致するロード済みの参照型を返します。 名前は、java.lang.Stringのように完全指定する必要があります。 返されるリストには、指定された名前を使用して検索された各クラスまたはインタフェースのReferenceType
が含まれます。 ロード済みのクラス以外は検索されません。指定された名前のクラスはロードされません。返されるリストには、準備の段階でロード済みの参照型、および準備が定義されていない型(配列など)が含まれます。
- パラメータ:
className
- 検索するクラスとインタフェースの名前- 戻り値:
- ターゲットVMの指定された名前の型をミラー化する
ReferenceType
オブジェクトのリスト。
-
allClasses
List<ReferenceType> allClasses()ロード済みのすべての型を返します。 返されるリストには、ターゲットVMのロード済みの型ごとに、ReferenceType
が出力されます。 このリストには、クラス、インタフェース、および配列の型をミラー化するReferenceTypeが含まれます。返されるリストには、準備の段階でロード済みの参照型、および準備が定義されていない型(配列など)が含まれます。
- 戻り値:
- ターゲットVMのロード済みの型をミラー化する
ReferenceType
オブジェクトのリスト。
-
redefineClasses
void redefineClasses(Map<? extends ReferenceType,byte[]> classToBytes)指定されたクラスはすべて、提供される定義に従って再定義されます。 再定義されたクラスのメソッドは、次の場合に「(メソッドの旧バージョンに対して)等価である」と言います。- 双方のメソッドのバイト・コードが同じ(定数プールのインデックスを除く)
- 参照定数が等しい。
Method.isObsolete()
はtrueを返します。 このスタック・フレームを再設定する必要がある場合は、ThreadReference.popFrames(StackFrame)
を使用して、スタックから旧バージョンの廃止されたメソッド実行をポップします。 再定義されたメソッドを新しく呼び出すと、常に新しいバージョンが呼び出されます。この関数により、一般的なJVMセマンティックスのもとで行われる以外の初期化は起こりません。 つまり、クラスの再定義では、クラスの初期化子は実行されません。 既存のスタティック変数は、呼出し前の状態のままです。 ただし、まったく初期化されていない(新しい)スタティック変数には、デフォルト値が割り当てられます。
再定義したクラスにインスタンスがある場合、そのインスタンスのフィールドは呼出し完了時に再定義したクラスで定義されます。 既存のフィールドは以前の値を保持します。 新しいフィールドはデフォルト値となります。インスタンス・イニシャライザやコンストラクタは実行しません。
スレッドを中断する必要はありません。
この関数によって生成されるイベントはありません。
再定義されたクラス内のブレークポイントはすべて削除されます。
この操作は、ターゲット仮想マシンでサポートされていないことがあります。 この操作がサポートされているかどうかを確認するには、
canRedefineClasses()
を使用します。 再定義によってメソッドを追加できるかどうかを確認するには、canAddMethod()
を使用してください。 再定義によってスキーマの変更、メソッドの削除、クラス階層の変更などが可能かどうかを確認するには、canUnrestrictedlyRedefineClasses()
を使用してください。- パラメータ:
classToBytes
-ReferenceType
からバイト配列へのマップ。 バイトは、新しいクラス定義を示す。また、Java仮想マシンのクラス・ファイル形式である。- 例外:
UnsupportedOperationException
- ターゲット仮想マシンがこの操作をサポートしていない場合。canRedefineClasses()
がfalseの場合にこのメソッドを呼び出すと、この例外がスローされる。canAddMethod()
がfalseの場合にメソッドを追加しようとすると、この例外がスローされる。canUnrestrictedlyRedefineClasses()
がfalseの場合に次のいずれかの操作を試行すると、この例外がスローされる- スキーマ(フィールド)の変更
- 階層(スーパークラス、インタフェース)の変更
- メソッドの削除
- クラス修飾子の変更
- メソッド修飾子の変更
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()
-
allThreads
List<ThreadReference> allThreads()現在実行中のスレッドのリストを返します。 リストには、ターゲットVMの実行中のスレッドごとに、そのスレッドをミラー化するThreadReference
が出力されます。 返されるリストには、java.lang.Threadで作成されたスレッド、JNIを介してターゲットVMに接続されたすべてのネイティブ・スレッド、およびターゲットVMにより作成されたシステム・スレッドが含まれます。 開始していないスレッド・オブジェクト(Thread.start()
を参照)、および実行が完了したスレッド・オブジェクトは、返されるリスト内に含まれません。- 戻り値:
ThreadReference
オブジェクトのリスト。ミラー化されたVM内で実行されている各スレッドに1つ。
-
suspend
void suspend()この仮想マシンで実行中のアプリケーションの実行を中断します。 現在実行中のすべてのスレッドが中断されます。Thread.suspend()
とは異なり、仮想マシンと個々のスレッド両方の中断がカウントされます。 スレッドを再実行する前に、中断された回数と同じ数の再開が(resume()
またはThreadReference.resume()
によって)行われなければなりません。- 例外:
VMCannotBeModifiedException
- VirtualMachineが読取り専用の場合(canBeModified()
を参照)。
-
resume
void resume()この仮想マシンで動作中のアプリケーションの実行を再開します。 すべてのスレッドは、ThreadReference.resume()
に記述されている方法で再開されます。- 例外:
VMCannotBeModifiedException
- VirtualMachineが読取り専用の場合(canBeModified()
を参照)。- 関連項目:
suspend()
-
topLevelThreadGroups
List<ThreadGroupReference> topLevelThreadGroups()親を持たない各スレッド・グループを返します。 返されるリストには、トップ・レベルのスレッド・グループごとにThreadGroupReference
が出力されます。このコマンドは、既存のスレッド・グループの(1つまたは複数の)ツリーを構築する最初のステップとして使用できます。
- 戻り値:
ThreadGroupReference
オブジェクトのリスト。トップ・レベルの各スレッド・グループに1つ。
-
eventQueue
EventQueue eventQueue()この仮想マシンのイベント・キューを返します。 仮想マシンはEventQueue
オブジェクトを1つだけ持ち、このメソッドは呼び出されるたびに同じインスタンスを返します。- 戻り値:
- この仮想マシンの
EventQueue
。 - 例外:
VMCannotBeModifiedException
- VirtualMachineが読取り専用の場合(canBeModified()
を参照)。
-
eventRequestManager
EventRequestManager eventRequestManager()この仮想マシンのイベント要求マネージャを返します。EventRequestManager
は、ブレークポイントなどのユーザーが設定可能なイベントを制御します。 仮想マシンはEventRequestManager
オブジェクトを1つだけ持ち、このメソッドは呼び出されるたびに同じインスタンスを返します。- 戻り値:
- この仮想マシンの
EventRequestManager
。 - 例外:
VMCannotBeModifiedException
- VirtualMachineが読取り専用の場合(canBeModified()
を参照)。
-
mirrorOf
BooleanValue mirrorOf(boolean value)指定された値に対応するBooleanValue
を作成します。 この値を使用して、この仮想マシンの変数またはフィールドから取得した値の設定および比較を行うことができます。- パラメータ:
value
- 値を作成するboolean値- 戻り値:
- 指定された値に対応する
BooleanValue
。
-
mirrorOf
ByteValue mirrorOf(byte value)指定された値に対応するByteValue
を作成します。 この値を使用して、この仮想マシンの変数またはフィールドから取得した値の設定および比較を行うことができます。- パラメータ:
value
- 値を作成するbyte値- 戻り値:
- 指定された値に対応する
ByteValue
。
-
mirrorOf
CharValue mirrorOf(char value)指定された値に対応するCharValue
を作成します。 この値を使用して、この仮想マシンの変数またはフィールドから取得した値の設定および比較を行うことができます。- パラメータ:
value
- 値を作成するchar値- 戻り値:
- 指定された値に対応する
CharValue
。
-
mirrorOf
ShortValue mirrorOf(short value)指定された値に対応するShortValue
を作成します。 この値を使用して、この仮想マシンの変数またはフィールドから取得した値の設定および比較を行うことができます。- パラメータ:
value
- 値を作成するshort値- 戻り値:
- 指定された値に対応する
ShortValue
。
-
mirrorOf
IntegerValue mirrorOf(int value)指定された値に対応するIntegerValue
を作成します。 この値を使用して、この仮想マシンの変数またはフィールドから取得した値の設定および比較を行うことができます。- パラメータ:
value
- 値を作成するint値- 戻り値:
- 指定された値に対応する
IntegerValue
。
-
mirrorOf
LongValue mirrorOf(long value)指定された値に対応するLongValue
を作成します。 この値を使用して、この仮想マシンの変数またはフィールドから取得した値の設定および比較を行うことができます。- パラメータ:
value
- 値を作成するlong値- 戻り値:
- 指定された値に対応する
LongValue
。
-
mirrorOf
FloatValue mirrorOf(float value)指定された値に対応するFloatValue
を作成します。 この値を使用して、この仮想マシンの変数またはフィールドから取得した値の設定および比較を行うことができます。- パラメータ:
value
- 値を作成するfloat値- 戻り値:
- 指定された値に対応する
FloatValue
。
-
mirrorOf
DoubleValue mirrorOf(double value)指定された値に対応するDoubleValue
を作成します。 この値を使用して、この仮想マシンの変数またはフィールドから取得した値の設定および比較を行うことができます。- パラメータ:
value
- 値を作成するdouble値- 戻り値:
- 指定された値に対応する
DoubleValue
。
-
mirrorOf
StringReference mirrorOf(String value)この仮想マシン内に文字列を作成します。 この文字列を使用して、この仮想マシンの変数またはフィールドから取得した文字列値の設定および比較を行うことができます。- パラメータ:
value
- 作成する文字列- 戻り値:
- ターゲットVM内に新しく作成された文字列をミラー化する
StringReference
。 - 例外:
VMCannotBeModifiedException
- VirtualMachineが読取り専用の場合(canBeModified()
を参照)。
-
mirrorOfVoid
VoidValue mirrorOfVoid()VoidValue
を作成します。 voidメソッドを終了するとき、この値をThreadReference.forceEarlyReturn(com.sun.jdi.Value)
に渡すことができます。- 戻り値:
VoidValue
。
-
process
Process process()この仮想マシンがLaunchingConnector
で起動されている場合は、そのProcess
オブジェクトを返します。- 戻り値:
- この仮想マシンの
Process
オブジェクト。この仮想マシンがLaunchingConnector
で起動されていない場合はnull。 - 例外:
VMCannotBeModifiedException
- VirtualMachineが読取り専用の場合(canBeModified()
を参照)。
-
dispose
void dispose()この仮想マシンのミラーを無効にします。 ターゲットVMへの通信チャネルが閉じられ、ターゲットVMは、このデバッガまたは別のデバッガからの次の接続を受け付ける準備をします。これには、次のような作業が含まれます。- すべてのイベント要求が取り消される。
suspend()
またはThreadReference.suspend()
で中断されたすべてのスレッドを、実行に必要な回数だけ再開します。- ガベージ・コレクションが
ObjectReference.disableCollection()
によって無効になっている場合は、すべて有効にします。
この仮想マシンを起源とするリソース(オブジェクト参照や参照型など)は、無効になります。
-
exit
void exit(int exitCode)ミラー化されたVMが、特定のエラー・コードで終了します。 この仮想マシンに関連したすべてのリソースが解放されます。 ミラー化されたVMがリモートの場合は、通信チャネルが閉じます。 この仮想マシンを起源とするリソース(オブジェクト参照や参照型など)は、無効になります。ミラー化されたVM内で実行中のスレッドは、強制終了します。 スレッド終了例外はスローされないため、finallyブロックは実行されません。
- パラメータ:
exitCode
- ターゲットVMの終了コード。 プラットフォームによっては、終了コードが下位8ビットなどに切り詰められる場合がある。- 例外:
VMCannotBeModifiedException
- VirtualMachineが読取り専用の場合(canBeModified()
を参照)。
-
canWatchFieldModification
boolean canWatchFieldModification()ターゲットVMでフィールド変更のウォッチポイントがサポートされているかどうかを判定します。- 戻り値:
- 指定した機能がサポートされる場合は
true
、そうでない場合はfalse
。
-
canWatchFieldAccess
boolean canWatchFieldAccess()ターゲットVMでフィールド・アクセスのウォッチポイントがサポートされているかどうかを判定します。- 戻り値:
- 指定した機能がサポートされる場合は
true
、そうでない場合はfalse
。
-
canGetBytecodes
boolean canGetBytecodes()ターゲットVMでメソッドのバイト・コードの検索がサポートされているかどうかを判定します。- 戻り値:
- 指定した機能がサポートされる場合は
true
、そうでない場合はfalse
。
-
canGetSyntheticAttribute
boolean canGetSyntheticAttribute()ターゲットVMでメソッドまたはフィールドの合成属性の問い合わせがサポートされているかどうかを判定します。- 戻り値:
- 指定した機能がサポートされる場合は
true
、そうでない場合はfalse
。
-
canGetOwnedMonitorInfo
boolean canGetOwnedMonitorInfo()ターゲットVMでスレッドが所有しているモニターの検索がサポートされているかどうかを判定します。- 戻り値:
- 指定した機能がサポートされる場合は
true
、そうでない場合はfalse
。
-
canGetCurrentContendedMonitor
boolean canGetCurrentContendedMonitor()ターゲットVMでスレッドが現在待機しているモニターの検索がサポートされているかどうかを判定します。- 戻り値:
- 指定した機能がサポートされる場合は
true
、そうでない場合はfalse
。
-
canGetMonitorInfo
boolean canGetMonitorInfo()ターゲットVMでオブジェクトのモニター情報の検索がサポートされているかどうかを判定します。- 戻り値:
- 指定した機能がサポートされる場合は
true
、そうでない場合はfalse
。
-
canUseInstanceFilters
boolean canUseInstanceFilters()ターゲットVMで特定のインスタンス・オブジェクトによるイベントのフィルタ処理がサポートされているかどうかを判定します。 例については、BreakpointRequest.addInstanceFilter(com.sun.jdi.ObjectReference)
を参照してください。- 戻り値:
- 指定した機能がサポートされる場合は
true
、そうでない場合はfalse
。
-
canRedefineClasses
boolean canRedefineClasses()ターゲットVMで任意のレベルのクラス再定義がサポートされているかどうかを判定します。- 戻り値:
- 指定した機能がサポートされる場合は
true
、そうでない場合はfalse
。 - 導入されたバージョン:
- 1.4
- 関連項目:
redefineClasses(java.util.Map<? extends com.sun.jdi.ReferenceType, byte[]>)
-
canAddMethod
boolean canAddMethod()ターゲットVMでクラス再定義の実行時にメソッドを追加できるかどうかを判定します。- 戻り値:
- 指定した機能がサポートされる場合は
true
、そうでない場合はfalse
。 - 導入されたバージョン:
- 1.4
- 関連項目:
redefineClasses(java.util.Map<? extends com.sun.jdi.ReferenceType, byte[]>)
-
canUnrestrictedlyRedefineClasses
boolean 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[]>)
-
canPopFrames
boolean canPopFrames()ターゲットVMでスレッド・スタックからのフレームのポップがサポートされているかどうかを判定します。- 戻り値:
- 指定した機能がサポートされる場合は
true
、そうでない場合はfalse
。 - 導入されたバージョン:
- 1.4
- 関連項目:
ThreadReference.popFrames(com.sun.jdi.StackFrame)
-
canGetSourceDebugExtension
boolean canGetSourceDebugExtension()ターゲットVMでソース・デバッグ拡張機能の取得がサポートされているかどうかを判定します。- 戻り値:
- 指定した機能がサポートされる場合は
true
、そうでない場合はfalse
。 - 導入されたバージョン:
- 1.4
- 関連項目:
ReferenceType.sourceDebugExtension()
-
canRequestVMDeathEvent
boolean canRequestVMDeathEvent()ターゲットVMで、VMDeathRequest
の作成がサポートされているかどうかを判定します。- 戻り値:
- 指定した機能がサポートされる場合は
true
、そうでない場合はfalse
。 - 導入されたバージョン:
- 1.4
- 関連項目:
EventRequestManager.createVMDeathRequest()
-
canGetMethodReturnValues
boolean canGetMethodReturnValues()ターゲットVMで、MethodExitEvent
に戻り値を含める機能がサポートされているかどうかを判定します。- 戻り値:
- 指定した機能がサポートされる場合は
true
、そうでない場合はfalse
。 - 導入されたバージョン:
- 1.6
- 関連項目:
EventRequestManager.createMethodExitRequest()
-
canGetInstanceInfo
boolean canGetInstanceInfo()ターゲットVMで、クラス・インスタンス、インスタンス数、および参照オブジェクトのアクセスがサポートされているかどうかを判定します。- 戻り値:
- 指定した機能がサポートされる場合は
true
、そうでない場合はfalse
。 - 導入されたバージョン:
- 1.6
- 関連項目:
instanceCounts(java.util.List<? extends com.sun.jdi.ReferenceType>)
,ReferenceType.instances(long)
,ObjectReference.referringObjects(long)
-
canUseSourceNameFilters
boolean canUseSourceNameFilters()ターゲットVMで、ソース名によるクラス準備イベントのフィルタがサポートされているかどうかを判定します。ClassPrepareRequest.addSourceNameFilter(java.lang.String)
を参照してください。- 戻り値:
- 指定した機能がサポートされる場合は
true
、そうでない場合はfalse
。 - 導入されたバージョン:
- 1.6
-
canForceEarlyReturn
boolean canForceEarlyReturn()ターゲットVMでメソッドの強制的な早期復帰がサポートされているかどうかを判定します。- 戻り値:
- 指定した機能がサポートされる場合は
true
、そうでない場合はfalse
。 - 導入されたバージョン:
- 1.6
- 関連項目:
ThreadReference.forceEarlyReturn(Value)
-
canBeModified
boolean canBeModified()ターゲットVMが読取り専用VMであるかどうかを判定します。 VMの状態を変更するメソッドが読取り専用VMで呼び出されると、VMCannotBeModifiedException
がスローされます。- 戻り値:
- 指定した機能がサポートされる場合は
true
、そうでない場合はfalse
。 - 導入されたバージョン:
- 1.5
-
canRequestMonitorEvents
boolean canRequestMonitorEvents()ターゲットVMで、MonitorContendedEnterRequest
の作成がサポートされているかどうかを判定します。MonitorContendedEnteredRequest
s.MonitorWaitRequest
s.MonitorWaitedRequest
s.- 戻り値:
- 指定した機能がサポートされる場合は
true
、そうでない場合はfalse
。 - 導入されたバージョン:
- 1.6
- 関連項目:
EventRequestManager.createMonitorContendedEnterRequest()
,EventRequestManager.createMonitorContendedEnteredRequest()
,EventRequestManager.createMonitorWaitRequest()
,EventRequestManager.createMonitorWaitedRequest()
-
canGetMonitorFrameInfo
boolean canGetMonitorFrameInfo()ターゲットVMで、モニター獲得フレームの情報の取得がサポートされているかどうかを判定します。- 戻り値:
- 指定した機能がサポートされる場合は
true
、そうでない場合はfalse
。 - 導入されたバージョン:
- 1.6
- 関連項目:
ThreadReference.ownedMonitorsAndFrames()
-
canGetClassFileVersion
boolean canGetClassFileVersion()ターゲットVMで、クラス・ファイルのメジャー・バージョン番号とマイナー・バージョン番号の読取りがサポートされているかどうかを判定します。- 戻り値:
- 指定した機能がサポートされる場合は
true
、そうでない場合はfalse
。 - 導入されたバージョン:
- 1.6
- 関連項目:
ReferenceType.majorVersion()
,ReferenceType.minorVersion()
-
canGetConstantPool
boolean canGetConstantPool()ターゲットVMで、クラスの定数プール情報の取得がサポートされているかどうかを判定します。- 戻り値:
- 指定した機能がサポートされる場合は
true
、そうでない場合はfalse
。 - 導入されたバージョン:
- 1.6
- 関連項目:
ReferenceType.constantPoolCount()
,ReferenceType.constantPool()
-
canGetModuleInfo
default boolean canGetModuleInfo()ターゲットVMがモジュールに関する情報を取得できるかどうかを判定します。- 実装要件:
- デフォルトの実装では
false
を返します。 - 戻り値:
- 指定した機能がサポートされる場合は
true
、そうでない場合はfalse
- 導入されたバージョン:
- 9
- 関連項目:
allModules()
,ReferenceType.module()
,ModuleReference
-
setDefaultStratum
void setDefaultStratum(String stratum)このVMのデフォルト層を設定します(層についてはLocation
を参照)。 この設定は、クラス・ファイルで設定されたクラスごとのデフォルトよりも優先されます。このメソッドは、
Location.sourceName()
などの位置問い合わせと、ステップ実行時に使用する行の境界線に影響を与えます。- パラメータ:
stratum
- VMのデフォルトとして設定する層。クラスごとのデフォルトを使用する場合はnull。- 例外:
UnsupportedOperationException
- ターゲット仮想マシンがこの操作をサポートしていない場合。- 導入されたバージョン:
- 1.4
-
getDefaultStratum
String getDefaultStratum()VMのデフォルト層を返します。- 戻り値:
setDefaultStratum(String)
によってデフォルト層が設定されていない場合はnull
。この場合、クラスごとのデフォルト(ReferenceType.defaultStratum()
)が使用される。- 導入されたバージョン:
- 1.4
- 関連項目:
setDefaultStratum(String)
,ReferenceType.defaultStratum()
-
instanceCounts
long[] 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)
-
description
String description()ターゲットVM、およびターゲットVMをミラー化するデバッガのサポートについてのテキスト情報を返します。 この情報に特定の形式は保証されていません。 通常は、ターゲットVMとデバッガ・インタフェースのバージョン情報が含まれます。 VMおよびJDIの正確なバージョン情報は、version()
、VirtualMachineManager.majorInterfaceVersion()
、およびVirtualMachineManager.minorInterfaceVersion()
を使って取得できます。- 戻り値:
- 説明。
-
version
String version()ターゲットVM内のJava Runtime Environmentのバージョンを、java.version
プロパティに指定されている方法で返します。 JDIインタフェースのバージョンを取得するには、VirtualMachineManager.majorInterfaceVersion()
およびVirtualMachineManager.minorInterfaceVersion()
を使用します。- 戻り値:
- ターゲットVMのバージョン。
-
name
String name()ターゲットVMの名前をプロパティjava.vm.name
に指定されている方法で返します。- 戻り値:
- ターゲットVM名。
-
setDebugTraceMode
void setDebugTraceMode(int traceFlags)com.sun.jdi実装によって実行される動作をトレースします。 すべてのトレース情報は、System.errに出力されます。 トレース・フラグは、出力する情報を制限するときに使用します。 指定したフラグは、このメソッドが次に呼び出されるまで有効で、対応するトレースが継続して行われます。出力は実装によって異なります。トレース・モードが無視される場合もあります。
- パラメータ:
traceFlags
- 有効にするトレースの種類を特定する。
-