モジュール jdk.jdi
パッケージ com.sun.jdi

インタフェースVirtualMachine

すべてのスーパー・インタフェース:
Mirror
既知のすべてのサブインタフェース:
PathSearchingVirtualMachine

public interface VirtualMachine extends Mirror
デバッグのターゲット仮想マシンです。 厳密には、ターゲットVMの複合状態を示すmirrorです。 ほかのすべてのミラーは、このインタフェースのインスタンスと関連しています。 ほかのすべてのミラーへのアクセスは、このインタフェースのインスタンスを介して、直接または間接的に行います。 大域VMプロパティへのアクセスおよびVMの実行の制御は、このインタフェースから直接行います。

このインタフェースのインスタンスは、Connectorのインスタンスによって作成されます。 たとえば、AttachingConnectorは、ターゲットVMに接続し、その仮想マシンのミラーを返します。 コネクタは、通常、VirtualMachineManagerのVirtualMachineManager.createVirtualMachine(Connection) createVirtualMachine(Connection)メソッドを呼び出して、仮想マシンを作成します。

起動コネクタにより起動されたターゲットVMは、VMStartEventが受け入れられるまで安定であることを保証されていません。

ターゲットVMが切断されていて、VMDisconnectEventEventQueueから読み出されたか読出せる場合は、VirtualMachineをパラメータとして取るVirtualMachine上のメソッドはVMDisconnectedExceptionをスローします。

VirtualMachineをパラメータとして取るVirtualMachine上のメソッドは、ターゲットVMのメモリーが不足した場合にVMOutOfMemoryExceptionをスローします。

導入されたバージョン:
1.3
  • フィールドのサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    static final int
    すべてのトレースが有効になります。
    static final int
    内部イベント処理のトレースが有効になります。
    static final int
    すべてのトレースが無効になります。
    static final int
    オブジェクト参照の内部管理のトレースが有効になります。
    static final int
    ターゲットVMから受信されるJDWPパケットのトレースが有効になります。
    static final int
    参照タイプの内部管理に使用可能なトレース。
    static final int
    ターゲットVMに送信されるJDWPパケットのトレースが有効になります。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    ターゲットVM内のすべての「ロード済タイプ」を返します。
    すべてのモジュールを返します。
    ターゲットVM内のライブ・スレッドのリストを返します。
    boolean
    非推奨。
    JVM TIベースのJDWPバックエンドでは、この機能はtrueに設定されません。
    boolean
    ターゲットVMが読取り専用VMであるかどうかを判定します。
    boolean
    ターゲットVMでメソッドの強制的な早期復帰がサポートされているかどうかを判定します。
    boolean
    ターゲットVMでメソッドのバイト・コードの検索がサポートされているかどうかを判定します。
    boolean
    ターゲットVMで、クラス・ファイルのメジャー・バージョン番号とマイナー・バージョン番号の読取りがサポートされているかどうかを判定します。
    boolean
    ターゲットVMで、クラスの定数プール情報の取得がサポートされているかどうかを判定します。
    boolean
    ターゲットVMでスレッドが現在待機しているモニターの検索がサポートされているかどうかを判定します。
    boolean
    ターゲットVMで、クラス・インスタンス、インスタンス数、および参照オブジェクトのアクセスがサポートされているかどうかを判定します。
    boolean
    ターゲットVMで、MethodExitEventに戻り値を含める機能がサポートされているかどうかを判定します。
    default boolean
    ターゲットVMがモジュールに関する情報の取得をサポートするかどうかを決定します。
    boolean
    ターゲットVMで、モニター獲得フレームの情報の取得がサポートされているかどうかを判定します。
    boolean
    ターゲットVMでオブジェクトのモニター情報の検索がサポートされているかどうかを判定します。
    boolean
    ターゲットVMでスレッドが所有しているモニターの検索がサポートされているかどうかを判定します。
    boolean
    ターゲットVMでソース・デバッグ拡張機能の取得がサポートされているかどうかを判定します。
    boolean
    ターゲットVMでメソッドまたはフィールドの合成属性の問い合わせがサポートされているかどうかを判定します。
    boolean
    ターゲットVMでスレッド・スタックからのフレームのポップがサポートされているかどうかを判定します。
    boolean
    ターゲットVMで任意のレベルのクラス再定義がサポートされているかどうかを判定します。
    boolean
    ターゲットVMで、MonitorContendedEnterRequestの作成がサポートされているかどうかを判定します。
    boolean
    ターゲットVMで、VMDeathRequestの作成がサポートされているかどうかを判定します。
    boolean
    非推奨。
    JVM TIベースのJDWPバックエンドでは、この機能はtrueに設定されません。
    boolean
    ターゲットVMで特定のインスタンス・オブジェクトによるイベントのフィルタ処理がサポートされているかどうかを判定します。
    boolean
    ターゲットVMで、ソース名によるクラス準備イベントのフィルタがサポートされているかどうかを判定します。
    boolean
    ターゲットVMでフィールド・アクセスのウォッチポイントがサポートされているかどうかを判定します。
    boolean
    ターゲットVMでフィールド変更のウォッチポイントがサポートされているかどうかを判定します。
    classesByName(String className)
    指定された名前に一致するロード済みの参照型を返します。
    ターゲットVM、およびターゲットVMをミラー化するデバッガのサポートについてのテキスト情報を返します。
    void
    この仮想マシンのミラーを無効にします。
    この仮想マシンのイベント・キューを返します。
    この仮想マシンのイベント要求マネージャを返します。
    void
    exit(int exitCode)
    ミラー化されたVMが、特定のエラー・コードで終了します。
    VMのデフォルト層を返します。
    long[]
    instanceCounts(List<? extends ReferenceType> refTypes)
    refTypesリスト内の各ReferenceTypeのインスタンス数を返します。
    mirrorOf(boolean value)
    指定された値に対応するBooleanValueを作成します。
    mirrorOf(byte value)
    指定された値に対応するByteValueを作成します。
    mirrorOf(char value)
    指定された値に対応するCharValueを作成します。
    mirrorOf(double value)
    指定された値に対応するDoubleValueを作成します。
    mirrorOf(float value)
    指定された値に対応するFloatValueを作成します。
    mirrorOf(int value)
    指定された値に対応するIntegerValueを作成します。
    mirrorOf(long value)
    指定された値に対応するLongValueを作成します。
    mirrorOf(short value)
    指定された値に対応するShortValueを作成します。
    この仮想マシン内に文字列を作成します。
    VoidValueを作成します。
    ターゲットVMの名前をプロパティjava.vm.nameに指定されている方法で返します。
    この仮想マシンがLaunchingConnectorで起動されている場合は、そのProcessオブジェクトを返します。
    void
    redefineClasses(Map<? extends ReferenceType,byte[]> classToBytes)
    指定されたクラスはすべて、提供される定義に従って再定義されます。
    void
    この仮想マシンで動作中のアプリケーションの実行を再開します。
    void
    setDebugTraceMode(int traceFlags)
    com.sun.jdi実装によって実行される動作をトレースします。
    void
    このVMのデフォルト層を設定します(層についてはLocationを参照)。
    void
    この仮想マシンで実行中のアプリケーションの実行を中断します。
    親を持たない各スレッド・グループを返します。
    ターゲットVM内のJava Runtime Environmentのバージョンを、java.versionプロパティに指定されている方法で返します。

    インタフェースcom.sun.jdi.Mirrorで宣言されたメソッド

    toString, virtualMachine
  • フィールド詳細

    • 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内のすべての「ロード済タイプ」を返します。

      返されるリストには、少なくとも準備の時点までにロードされたhidden classes or interfacesを含むすべての参照タイプと、準備が定義されていない(like配列)タイプが含まれます。

      戻り値:
      ターゲット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の場合、JVM TI RedefineClassesで説明されているサポートされていないクラス・ファイルの変更を試みると、この例外がスローされます。
      NoClassDefFoundError - バイトが参照型と対応していない(名前が一致していない)場合。
      VerifyError - 「ベリファイア」が、正しい形式ではあるが、内部に整合性またはセキュリティに関する問題を含むクラスを検出した場合。
      ClassFormatError - バイトが有効なクラスを表現していない場合。
      ClassCircularityError - クラスの初期化中に循環が検出された場合。
      UnsupportedClassVersionError - バイト内のメジャー・バージョン番号とマイナー・バージョン番号がVMによってサポートされていない場合。
      VMCannotBeModifiedException - VirtualMachineが読取り専用の場合(canBeModified()を参照)。
      導入されたバージョン:
      1.4
      関連項目:
    • allThreads

      List<ThreadReference> allThreads()
      ターゲットVM内のライブ・スレッドのリストを返します。 まだ開始されていないスレッドや終了したスレッドはリストに含まれません。

      返されるリストには、ターゲットVMのライブ「プラットフォーム・スレッド」ごとにThreadReferenceが含まれます。 これには、java.lang.Thread APIで作成されたプラットフォーム・スレッドと、「JNIコード」を使用してターゲットVMにアタッチされたすべてのネイティブ・スレッドが含まれます。

      ターゲットVMにライブ「仮想スレッド」の要素がリストに含まれている場合、実装に依存します。 ターゲットVMは仮想スレッドへの参照を返さないか、一部またはすべての仮想スレッドへの参照を返すように構成できます。 すべての仮想スレッドを追跡するツールを使用すると、仮想スレッドの起動時と終了時にThreadStartRequestおよびThreadDeathRequestが通知を取得できるようになります。

      戻り値:
      ターゲットVMのスレッドのThreadReferenceオブジェクトのリスト
    • suspend

      void suspend()
      この仮想マシンで実行中のアプリケーションの実行を中断します。 現在実行中のすべてのスレッドが中断されます。

      仮想マシンと個々のスレッドの両方の一時停止がカウントされます。 スレッドを再実行する前に、中断された回数と同じ数の再開が(resume()またはThreadReference.resume()によって)行われなければなりません。

      例外:
      VMCannotBeModifiedException - VirtualMachineが読取り専用の場合
      関連項目:
    • resume

      void resume()
      この仮想マシンで動作中のアプリケーションの実行を再開します。 すべてのスレッドは、ThreadReference.resume()に記述されている方法で再開されます。
      例外:
      VMCannotBeModifiedException - VirtualMachineが読取り専用の場合
      関連項目:
    • 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()によって無効になっている場合は、すべて有効にします。
      ターゲットVMで実行中のすべてのメソッド呼出しは、切断後も継続されます。 そのようなメソッド呼出しが完了すると、呼出し元のスレッドは、もともと停止した場所から実行を継続します。

      この仮想マシンを起源とするリソース(オブジェクト参照や参照型など)は、無効になります。

    • 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
      関連項目:
    • canAddMethod

      @Deprecated(since="15") boolean canAddMethod()
      非推奨。
      JVM TIベースのJDWPバックエンドでは、この機能はtrueに設定されません。
      ターゲットVMでクラス再定義の実行時にメソッドを追加できるかどうかを判定します。
      戻り値:
      指定した機能がサポートされる場合はtrue、そうでない場合はfalse
      導入されたバージョン:
      1.4
      関連項目:
    • canUnrestrictedlyRedefineClasses

      @Deprecated(since="15") boolean canUnrestrictedlyRedefineClasses()
      非推奨。
      JVM TIベースのJDWPバックエンドでは、この機能はtrueに設定されません。
      ターゲットVMが、redefineClasses(java.util.Map<? extends com.sun.jdi.ReferenceType, byte[]>)によって制限されるクラスの再定義を実行するときに変更をサポートするかどうかを決定します。
      戻り値:
      指定した機能がサポートされる場合はtrue、そうでない場合はfalse
      導入されたバージョン:
      1.4
      関連項目:
    • canPopFrames

      boolean canPopFrames()
      ターゲットVMでスレッド・スタックからのフレームのポップがサポートされているかどうかを判定します。
      戻り値:
      指定した機能がサポートされる場合はtrue、そうでない場合はfalse
      導入されたバージョン:
      1.4
      関連項目:
    • canGetSourceDebugExtension

      boolean canGetSourceDebugExtension()
      ターゲットVMでソース・デバッグ拡張機能の取得がサポートされているかどうかを判定します。
      戻り値:
      指定した機能がサポートされる場合はtrue、そうでない場合はfalse
      導入されたバージョン:
      1.4
      関連項目:
    • canRequestVMDeathEvent

      boolean canRequestVMDeathEvent()
      ターゲットVMで、VMDeathRequestの作成がサポートされているかどうかを判定します。
      戻り値:
      指定した機能がサポートされる場合はtrue、そうでない場合はfalse
      導入されたバージョン:
      1.4
      関連項目:
    • canGetMethodReturnValues

      boolean canGetMethodReturnValues()
      ターゲットVMで、MethodExitEventに戻り値を含める機能がサポートされているかどうかを判定します。
      戻り値:
      指定した機能がサポートされる場合はtrue、そうでない場合はfalse
      導入されたバージョン:
      1.6
      関連項目:
    • canGetInstanceInfo

      boolean canGetInstanceInfo()
      ターゲットVMで、クラス・インスタンス、インスタンス数、および参照オブジェクトのアクセスがサポートされているかどうかを判定します。
      戻り値:
      指定した機能がサポートされる場合はtrue、そうでない場合はfalse
      導入されたバージョン:
      1.6
      関連項目:
    • canUseSourceNameFilters

      boolean canUseSourceNameFilters()
      ターゲットVMで、ソース名によるクラス準備イベントのフィルタがサポートされているかどうかを判定します。ClassPrepareRequest.addSourceNameFilter(java.lang.String)を参照してください。
      戻り値:
      指定した機能がサポートされる場合はtrue、そうでない場合はfalse
      導入されたバージョン:
      1.6
    • canForceEarlyReturn

      boolean canForceEarlyReturn()
      ターゲットVMでメソッドの強制的な早期復帰がサポートされているかどうかを判定します。
      戻り値:
      指定した機能がサポートされる場合はtrue、そうでない場合はfalse
      導入されたバージョン:
      1.6
      関連項目:
    • canBeModified

      boolean canBeModified()
      ターゲットVMが読取り専用VMであるかどうかを判定します。 VMの状態を変更するメソッドが読取り専用VMで呼び出されると、VMCannotBeModifiedExceptionがスローされます。
      戻り値:
      指定した機能がサポートされる場合はtrue、そうでない場合はfalse
      導入されたバージョン:
      1.5
    • canRequestMonitorEvents

      boolean canRequestMonitorEvents()
      ターゲットVMで、MonitorContendedEnterRequestの作成がサポートされているかどうかを判定します。 MonitorContendedEnteredRequests. MonitorWaitRequests. MonitorWaitedRequests.
      戻り値:
      指定した機能がサポートされる場合はtrue、そうでない場合はfalse
      導入されたバージョン:
      1.6
      関連項目:
    • canGetMonitorFrameInfo

      boolean canGetMonitorFrameInfo()
      ターゲットVMで、モニター獲得フレームの情報の取得がサポートされているかどうかを判定します。
      戻り値:
      指定した機能がサポートされる場合はtrue、そうでない場合はfalse
      導入されたバージョン:
      1.6
      関連項目:
    • canGetClassFileVersion

      boolean canGetClassFileVersion()
      ターゲットVMで、クラス・ファイルのメジャー・バージョン番号とマイナー・バージョン番号の読取りがサポートされているかどうかを判定します。
      戻り値:
      指定した機能がサポートされる場合はtrue、そうでない場合はfalse
      導入されたバージョン:
      1.6
      関連項目:
    • canGetConstantPool

      boolean canGetConstantPool()
      ターゲットVMで、クラスの定数プール情報の取得がサポートされているかどうかを判定します。
      戻り値:
      指定した機能がサポートされる場合はtrue、そうでない場合はfalse
      導入されたバージョン:
      1.6
      関連項目:
    • canGetModuleInfo

      default boolean canGetModuleInfo()
      ターゲットVMがモジュールに関する情報の取得をサポートするかどうかを決定します。
      実装要件:
      デフォルトの実装ではfalseを返します。
      戻り値:
      指定した機能がサポートされる場合はtrue、そうでない場合はfalse
      導入されたバージョン:
      9
      関連項目:
    • 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
      関連項目:
    • 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
      関連項目:
    • 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 - 有効にするトレースの種類を特定する。