15年12月1日的文章里使用cocoapods遇到的爆栈crash问题 分析了项目里遇到的一次诡异的死循环爆栈问题。
今年把项目作为sdk提供第三方时有遇到该问题。最后定位了根本原因彻底解决了。
今年遇到问题时,一个同事看堆栈,留意到死循环时跑到了我们代码,即
frame #3497: 0x00000001007ab710 DuDuChatDemo`-[NSObject(self=0x0000000174148fb0, _cmd=0x000000018adf2076) description] + 344 at NSObject+Describable.m:41
是我们自己代码导致的。闪退后Xcode捕获堆栈,堆栈的左边有图标,项目自身代码和系统代码的图标不同。
但是客户端代码搜索不到
NSObject+Describable.m这个文件。所以我们怀疑是网络库or音视频库导致,一问之下果然是网络库导致的。因改文件后来不用了,让网络库删了之后,问题解决。