パラメータとしてlongを受け取るメソッドA.passLong(Long)があります。クラスBをインストルメントし、そのメソッドの呼び出しを追加して、長い定数を渡します。
呼び出されたメソッドA.passLong(Long)をデバッグすると、パラメーターとして渡した数値ではない数値をメソッドが受け取ることがわかります。
「javap-verbose」を使用して、インストルメントされたコードでクラスのダンプを逆コンパイルしました。定数プールから読み取られた数値(デバッガーで表示される数値)は、期待される数値と次の数値を連結したもののようです。定数プールで。
デバッグ時に再現され、JITが無効になっているため、JITの問題ではありません。
何か案は?