我正在使用ASM來監視字段訪問(putfield和getfield)。 (對於putfield,)我的問題是,當堆棧的頂部是一個基本值(X),第二個頂部是一個對象引用(Y)時,如何插入一些Java指令來調用我的方法與第二個對象引用Y)作爲一個參數,並從我的方法返回後,兩個(X和Y)不會丟失?訪問使用ASM的Java堆棧中的第二個頂層對象
總之,如何訪問第二個頂級對象引用而不影響堆棧的頂部值(在我訪問後)在Java字節碼級別的Java?
我想使用dup,但它只能處理堆棧的最高值。所以,它適用於getfield,因爲沒有價值,我可以直接複製它。
有沒有更好的方法來做到這一點?
謝謝。
非常感謝。我想我的想法是從你的答案中訪問Stack中的第二個值,以獲得兩種類型的最高值。 –