美文网首页
WebThread:signal SIGABRT 和 libc+

WebThread:signal SIGABRT 和 libc+

作者: startong | 来源:发表于2018-04-02 13:57 被阅读0次

今天遇到一个很顽固的bug,解决之前都觉得很难,但是搞定之后,才恍然大悟,原来如此简单,

今天的问题是:日志里只显示libc++abi.dylib: terminating with uncaught exception of type NSException这个,其他信息一点都没有,然后各种调试,也就多了这么一条WebThread : signal SIGABRT,我完全懵了,一点都不知道是什么问题,

问题背景:app里有一个活动页面是h5的页面,然后通过点击h5页面里的注册和登录按钮,让页面跳到原生的app的登陆和注册页面进行下面的操作,因为此前做过其他的类似的功能的都没问题,很自然的觉得肯定也是没问题的,结果就给我报了错误,错误停留在用户名的那个textField那里,我奇怪的很,从app原生页面进入注册和登录页面没一点问题,但是从h5页面进入的话就会报错,我就奇了怪了不清楚为什么会这样,并且错误提示就是上面那两个,没有任何的多余信息,

解决办法:我各种百度看到好多人都是说 什么 xib 连线不对  ,对象重复释放等等这些解决方法,我就奇了怪了 我是纯代码写的完全没有xib根本不会存在连线的问题,对象也没有重复释放,我完全搞不懂状况,各种博客都看过就是没办法,最后突然想到一个办法 不知道行不行 只能试一试了,就自己写了try catch方法搞,方法如下:

@try{  

      

          //这里写你的造成app闪退的代码

    }  

@catch

(NSException *exception) {  

        NSLog(@"exception:%@"

, exception);  

    }  

@finally {  

          

    }  

​​然后再次运行程序到了这里依然会崩溃,点击跳过断点(有时候可能要多点几次),然后就会发现日志栏里出现了新的关键的日志如下:

-[RegistViewController phoneField] [第139行] exception:Only run on the main thread!

一看就明白了,意思是要在主线程里执行(这才是关键日志),后来经过修改就可以搞定了,

最后我​想了想 原因应该是  UITextField 这种UI控件必须要在主线程里刷新的,而我从h5跳到原生页面是开了子线程去跑的,所以有问题,改完之后就没问题了,希望能帮到一些和我犯一样错误的同学吧,毕竟 这种问题不容易搞,错误日志信息很少,没有重要信息,很麻烦,,,

相关文章

  • WebThread:signal SIGABRT 和 libc+

    今天遇到一个很顽固的bug,解决之前都觉得很难,但是搞定之后,才恍然大悟,原来如此简单, 今天的问题是:日志里只显...

  • swift 抓取奔溃日志

    `signal(SIGABRT) { (signal:Int32)in `

  • Application received signal SIGS

    Application received signal SIGABRT(null)((0 CoreFounda...

  • SIGABRT (signal 6)

    Signal 6 was raised! abort()的工作原理是会发出SIGABRT信号。通常由于库函数检测到...

  • Thread 1: signal SIGABRT

    报错信息: Thread 1: signal SIGABRT malloc函数 pointer being fre...

  • 在delegate = self;处崩溃

    崩溃原因:Thread 1: signal SIGABRT log信息:Cannot form weak refe...

  • signal SIGABRT 过度释放

    最近在写腾讯云IM,发现每次退出登录重新登录,都会报signal SIGABRT崩溃,提示信息如下 Cannot ...

  • 闪退常见原因汇总

    Fatal signal 6 (SIGABRT) 很可能是在自线程中更新UI操作导致

  • 2019-07-07

    Thread 1: signal SIGABRT 错误 今天尝试swift ios编程,出现上述错误。 具体原因是...

  • Crash 日志

    Signal信号的类型SIGABRT–程序中止命令中止信号SIGALRM–程序超时信号SIGFPE–程序浮点异常信...

网友评论

      本文标题:WebThread:signal SIGABRT 和 libc+

      本文链接:https://www.haomeiwen.com/subject/httxhftx.html