2012-12-26 32 views
8

Xcode是拋出異常:如何找到NSArray的NSInvalidArgumentException異常?

終止應用程序由於未捕獲的異常 'NSInvalidArgumentException' 的,原因是: '* - [__ NSArrayM insertObject:atIndex:]:對象不能是零'

但是,在調試模式下,它不會暫停發生異常的位置。它結束於

return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 

帶有消息「SIGABRT」。堆棧跟蹤只顯示這個「主」。

有沒有什麼辦法可以找出代碼中的哪個對象被試圖插入數組?

+0

http://developer.apple.com/library/ios/#recipes/xcode_help-breakpoint_navigator/articles/adding_an_exception_breakpoint.html – iDev

回答

21

在您的項目中,轉到Breakpoint導航器,單擊[+]按鈕和添加異常斷點...。點擊例外>全部打破>拋出,點擊[完成]

使用此設置,Xcode應該在您的項目中引發異常的地方中斷。您可能需要沿着堆棧走一兩幀來獲取您的代碼。