- すべてのスーパー・インタフェース:
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_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クラス属性の変更
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の作成がサポートされているかどうかを判定します。MonitorContendedEnteredRequests.MonitorWaitRequests.MonitorWaitedRequests.- 戻り値:
- 指定した機能がサポートされる場合は
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- 有効にするトレースの種類を特定する。
-