铺垫
通过前面分析lookUpImpOrForward,既然是寻找或者转发,那在没寻找到的情况下,它是怎么转发的呢?入口又是在哪?
通过instrumentObjcMessageSends分析方法调用顺序
换一个思路,既然动态决议后,如果没有对Imp进行操作,就会崩溃,那可以通过该方法检测奔溃时方法的调用情况。lookUpImpOrForward -> log_and_fill_cache -> logMessageSend,objcMsgLogEnabled =YES是进入这个流程的关键...