ANYMethodLog
ANYMethodLog copied to clipboard
Log any method call of object in Objective-C
跟踪父类,无法打印子类的方法?
这篇文章的解决崩溃问题怎么实现呢?http://satanwoo.github.io/2017/09/24/mainthreadchecker1/
如果被hook的类本身有对methodSignatureForSelector:、forwardInvocation:方法做处理。那么该类在遇到真实的消息转发时(区别于你框架中主动触发的消息转发),会变成qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_...无限循环,qhd_forwardInvocation死循环。而不能执行类本身的forwardInvocation:方法。
拿 Demo 就能复现
可变参数会报错误
可以判断出可变参数,进行不hook吗
hook:WeChat “CMessageWrap” sel:qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_qhd_m_uiPreDownloadPercent args:(null)