libc++abi.dylib: terminate_handler unexpectedly错误

来源:互联网 发布:html5 javascript exe 编辑:程序博客网 时间:2024/05/29 05:06

今天测试app时发现一个必现的异常,当在登录成功后再打开登录前点击的页面时,就会在Xcode console中打印如下日志:

NSScanner:nil string argument
NSScanner:nil string argument
libc++abi.dylib: terminate_handler unexpectedly threw an exception

然后app就会crash掉。

搜索了一下相关资料,得知出现NSScanner: nil string argument问题都是跟字符串有关,一般认为是intWithString:的参数传入了nil就会出现这个问题。但是项目的代码中并没有几处intWithString:的地方,逐一加断点都排除了出问题的可能。

然后我单步调试,发现问题可能出在这几行代码:
NSDictionary *para=nil;
para=@{@"userid":[Configs getInstance].me.uid, @"flag":@"1" };

那么最有问题的可能在这里:[Configs getInstance].me.uid,会不会在它为nil时出现上面的crash问题呢?经过验证,在出现crash之前这个uid值果然为nil,又是前人留下的坑……对代码进行了一些调整,此问题解决。


20150411更新:

出现NSScanner:nil string argument这个问题很有可能是因为你在项目中用了友盟的SDK,这样的错误信息非常不利于定位,可以先把调用友盟SDK的代码注释掉来定位问题。

0 0
原创粉丝点击