2011-08-23 42 views
5

我目前得到這個崩潰日誌在控制檯:NSCFData isResizable崩潰?

2011-08-23 19:18:40.064 App[1697:707] -[__NSCFData _isResizable]: unrecognized selector sent to instance 0x11f1c0 
2011-08-23 19:18:40.075 App[1697:707] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFData _isResizable]: unrecognized selector sent to instance 0x11f1c0' 

有誰知道這是什麼意思?可能是什麼原因呢?

謝謝!

回答

9

更可能的是,您已經過度釋放了一些隨機對象,而且很巧合的是,在現在已經過去的對象的位置已經分配了一個NSData(或CFData)實例。

運行殭屍檢測工具,看看是否捕獲任何東西(搜索SO NSZombie)。

或者,在objc_exception_throw上設置一個斷點,它應該顯示消息的發送位置。儘管如此,這可能無法提供足夠的背景。

+2

這個問題最終導致我將一個NSData對象設置爲UIImageView,這讓我感到愚蠢! –

+0

哈!這也會做到。很高興你找到了它。 – bbum

1

你似乎正在發送一個無效的選擇器(isResizable)到一個對象,也許是一個NSData對象?您是否有堆棧跟蹤以提供有關崩潰發生的更多信息?

+0

我只在視圖控制器中使用NSData,其中一次崩潰,並且不在啓動時調用。崩潰發生在啓動時。我將如何獲得堆棧跟蹤? –

+1

請參閱[這篇較舊的SO帖子](http://stackoverflow.com/questions/1093999/stack-trace-or-more-info-on-unhandled-exception-in-xcode-iphone/1094096#1094096),包括如果您想在Xcode 4中執行此操作,請使用Brad Larson的評論 –

+1

在啓用殭屍檢測的儀器中運行。樂器可以記錄對象的所有參考計數,這可以減少一旦複製後將殭屍/生命時間/來源識別爲大約一分鐘所需的時間。 – justin