我用baksmali分解了一个安卓应用程序,并研究了生成的smali代码。其中一个类包含以下行:
.local v1, "future":Lcom/android/volley/toolbox/RequestFuture;, "Lcom/android/volley/toolbox/RequestFuture<Ljava/lang/Void;>;"我不确定这一行代码的意思。
v1是否包含与原始代码中的变量future相对应的RequestFuture<Void>?(即原始代码:RequestFuture<Void> future;?)还是有什么不同?
发布于 2015-10-06 17:34:18
是的,这是调试信息的一部分,可以随意显示。在调试时,可以使用它来评估局部变量的值。
你提到的.local就是你所说的意思。v1寄存器保存原始源中的future变量的值,其类型为RequestFuture<Void>。
.local指令相当于该方法的调试信息中的DBG_START_LOCAL或DBG_START_LOCAL_EXTENDED指令,由dex格式定义。
https://stackoverflow.com/questions/32968479
复制相似问题