ios breakpoint1.2bug

来源:互联网 发布:dota2数据分析 编辑:程序博客网 时间:2024/06/03 19:05

敲代码的时候。你可能会碰到一种特别令人蛋疼的事情:程序运行之后在一个地方莫名奇妙的崩溃(我的情况是用webView加载请求时出现的),直接崩溃到mian.m文件中,而且还不给任何的提示,但是运行在手机上就没问题:如下图、


起初我怀疑是内存警告的问题,于是乎在内存警告的方法里面打印log,但没有打印,排除!

接下来,我想到的是主线程被堵塞,导致程序停止运行的问题,但这种可能最后也被排除啦,因为真机运行时ok的!

最后实在是郁闷的没办法,问了大神,经过提点原来是断点的问题:

断点干掉之后,竟然tmd就ok啦。。。。。

虽然问题解决啦,但却留给我了一个大大的疑问:All Exceptions难道不是再程序bug了之后才会主动阻断程序的嘛?

网上搜了,但没有细致的回答。自己动手丰衣足食!!!

对着All Exceptions,瞧了半天,发现了一个东东:

百度翻译了一下(呵呵),大概意思是碰到Xcode预估的应该走断点的行为时睁一只眼闭一只眼...

于是乎,点选了。。。之后就也顺利运行下去啦。

自己猜了一下,出了这种情况的原因可能是XCode预设了几种可能会造成程序崩溃的情况。当你的程序出现这些类似的情况时,系统会自动阻断运行,但并不崩溃。

而这些个情况可能是XCode自身不能兼容的部分,可能会影响用户体验或者引起程序bug。比如我碰到的webview加载请求被强制断点的情况,可能是由于html中得javaScript代码中添加了XCode不能解析的某些框架。如:ifrme框架。。。。

最后,结论是:当你习惯性的添加了All Exception时要记住点选下面的自动选项。至于点选之后有没有其他不良的影响。。。天知道。。


补充::::不良影响已经知道。。如果你选中了下面的Automatically,    程序崩溃之后。找不到崩溃点在哪。。所以在碰到上述蛋疼的问题时只能暂时删除All Exception断点或者点选Automatically过度啦,碰到真正的程序崩溃点。在手动加上。。。。已泪崩

0 0
原创粉丝点击