4
我使用ASM API进行Java字节码instrumantation,我希望能够确定在每次访问任何数组时访问哪个数组(每个数组的名称)。在Java字节码中获取堆栈操作数的arrayref
我有两个问题: - 让我们以iastore指示为例。 arrayref放在操作数堆栈下的两个其他变量 - 值和索引。我如何得到arrayref而不损坏堆栈(我不能在堆栈中复制两个以上的顶层变量)? 我想从栈中弹出指数和价值,并将其保存的地方,然后得到数组引用,并最终推动指数和值回到堆栈,但我真的不知道如何做到这一点?
- 我想从arrayref(一旦拥有它)得到数组的名称(用户声明该数组称为它的名称)。
在此先感谢。
你是什么意思的“阵列的名称”? – 2011-01-12 19:22:28
您可以从类文件中获取变量名称。然而,许多变量(本地和成员)可以指向相同的数组对象,所以你想要哪个变量名? – Anon 2011-01-12 19:49:43