查找使用Xcode中的错误 - 试图插入空值(Finding a bug using Xcode -

2019-07-29 16:18发布

我在我的应用程序,这是导致其崩溃得到一个随机错误。 我现在面临的问题是的XCode不告诉我崩溃发生的事情只有下面的信息。 谁能告诉我怎样才能找出我也许能找到代码中的问题? 它必须在同一点轰然当应用程序确实崩溃它总是显示下方。

*终止应用程序由于未捕获的异常'NSInvalidArgumentException',原因是: ' - [__ NSCFDictionary的setObject:forKey:]:试图插入空值(键:0)' *第一掷调用堆栈:(0x381e48bf 0x37d301e5 0x381e47b9 0x381e47db 0x381516bb 0x9237b 0x91121 0x8f0c5 0x8abc1 0x37b9d 0x8b68f 0x3550850f 0x381b0577 0x3813c0cf 0x3547c3fb 0x3547dc2b 0x8d005 0x3814322b 0x34495 0x32e31 0x3372d 0x30a59 0x3813e435 0x7b1df 0x7b88d 0x79e25 0x31ca650f 0x31ca5f01 0x31c8c4ed 0x31c8bd2d 0x37f12df3 0x381b8553 0x381b84f5 0x381b7343 0x3813a4dd 0x3813a3a5 0x37f11fcd 0x31cba743 0x89e8b 0x24a4)终止叫做抛出异常(LLDB)

Answer 1:

你有没有对异常断点打开? 点击+在断点导航器的左下角,然后选择添加例外Breakpont。

您可以右键单击断点进行编辑...

这将导致代码停在发生错误的点。



Answer 2:

还有,我通常在我的项目中使用的解决方案,设置一些特殊的断点。 要做到这一点:

  1. 开放的XCode
  2. 进入“查看 - >导航器 - >显示断点导航器”

现在,增加一些新的断点,点击“+”按钮:

  • 加入异常断点
  • 添加符号断点与符号[NSException raise]
  • 添加符号断点与符号objc_exception_throw

再次运行项目,应用程序将停止是导致你的问题就行了。



Answer 3:

错误是明显不够的。 在任何你行,你在哪里设置字典一些对象,你关键是nill,这是不允许的



Answer 4:

你的问题是,你正在使用的setObject:forKey方法的NSDictionary只是让那么它的NSMutableDictionary试试这个方法就像你正在尝试这只是针对的NSMutableDictionary你不能NSDictionary的赋值。

我希望你能明白我的意思就是我试着说。



Answer 5:

试试这个:

if([myDictionary objectForKey:@"string"]!= nil && [myDictionary objectForKey:@"string"]!= Nil) { }


文章来源: Finding a bug using Xcode - attempt to insert nil value