デバッグエンジンは、現在のスレッドの現在のスタックを調べます。「スタック上の旧メソッド」警告が表示された場合は、最上位の呼び出しが関連付けられたクラスは現在実行中のプログラムと入れ替わり、呼び出しスタックに複数の呼び出しがあります。ここでは、次の 2 つのオプションを選択できます。
一般に、呼び出しスタックから呼び出しをポップ (削除) しても、呼び出しによる影響は元に戻りません。たとえば、データベース接続を開いた呼び出しを削除しても、データベース接続は開いたままになります。
古いバージョンのクラスに属すメソッドが仮想マシン (VM) のスタックにある場合、VM は古いバージョンと新しいバージョンの両方のクラスをメモリーに保持しするため、スタックの呼び出しが混乱することがありません。古い呼び出しが削除される前にクラスが再び修正されると、VM に同時に 3 つ以上のバージョンが存在することになります。