最近遇到一个很头疼的问题,就是Xcode7.3.1在加断点debug的时候会无限转菊花然后Xcode卡死。
先试了通用的解决办法,就是打开.xocdeproj
文件将里面的Breakpoints_v2.xcbkptlist
文件删除并重启xcode,可是依然没有效果。
分析一下我们的项目,我是准备在webview的回调中断点,查看h5与Native通讯的数据,大概代码如下:
-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
...
[self.delegate callBusinessFunction:params];
...
}
在callBusinessFunction
方法中有很多的业务处理逻辑,我是在里面打的断点准备查看数据的,结果Xocde就卡死了。后来实在不明真相的我做了了如下的修改,结果就好了:
-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
...
dispatch_async(dispatch_get_main_queue(),^{
[self.delegate callBusinessFunction:params];
});
...
}
将整个回调方法扔进主线程就可以断点了...目前没有明白具体原因,先记下来日后再更新真相。