一. 背景
App从某个版本开始突然收到一例高频crash,,crash信息如下
crash栈如下:
crash栈信息很少,只能看出是线程刚启动就crash了,内存违规访问,并且通过image可以知道是crash在我们自己的代码里,除了这几点信息很难找出其他线索了。
二. 分析、定位crash源代码
通过栈可以知道crash在frame_worker_thread函数里面,并且是c/c++函数,直接搜我们工程没找到该方法,所以应该是某个引入库的方法。
使用xcode搜索image symbol:
什么???竟然有两个同名的frame_worker_thread函数!!!两个同名的函数不会链接错误吗?其实frame_worker_thread是non-external symbol,所以链接没问题。
搜索symbol知道其中一个frame_worker_thread 方法在pthread_frame.c文件定义的&