java-.catchall是否用于在smali中指示Dalvik字节码的finally子句?

我注意到,当Java代码中存在finally子句时,总是会生成.catchall来标识finally块或使用.catchall标签对其进行内联,但是我没有找到有关是否存在这种情况的在线信息.解释,有人知道吗?

解决方法:

是的,finally块是可能会生成.catchall的一种情况.但是,它也可以用于其他用途.例如,它也可以在同步方法的情况下生成,以确保释放锁定.

捕获所有处理程序记录在dex-format规范中.具体来说,在code_item中包含的encode_catch_handler项中.

同样相关的是classfile specification中的等效数据.请参见exception_table中的catch_type项.

上一篇:linux下反汇编apk.md


下一篇:java-构造函数中的invoke-virtual与invoke-direct