2011-02-25 11 views
0

私のアプリケーションはビルドとデバッグを行うときに機能しますが、自分で実行すると他のいくつかの問題でクラッシュします。
私は1つのNSObjectクラス、1つのUITableViewクラス、1つのUIViewクラス、1つのUITableViewCellクラス、および1つのNSOperationクラスを持っています。 身体に似た問題があるか、誰かが私を助けることができるかどうか。クラッシュログからのエラーを認識する方法

Application Specific Information: 
objc_msgSend() selector name: release 
iPhone Simulator 235, iPhone OS 4.2 (iPhone/8C134) 

Thread 0 Crashed: Dispatch queue: com.apple.main-thread 
0 libobjc.A.dylib     0x01134a67 objc_msgSend + 27 
1 UIKit       0x004ab1e2 -[UITableViewCell removeFromSuperview] + 167 
2 UIKit       0x003249d9 -[UIView dealloc] + 340 
3 UIKit       0x0032e281 -[UIScrollView dealloc] + 341 
4 UIKit       0x003661ce -[UITableView dealloc] + 1085 
5 Foundation      0x000698da __delayedPerformCleanup + 59 
6 CoreFoundation     0x00f4bbde CFRunLoopTimerInvalidate + 446 
7 CoreFoundation     0x00fb57d7 __CFRunLoopDoTimer + 1799 
8 CoreFoundation     0x00f11cc9 __CFRunLoopRun + 1817 
9 CoreFoundation     0x00f11240 CFRunLoopRunSpecific + 208 
10 CoreFoundation     0x00f11161 CFRunLoopRunInMode + 97 
11 GraphicsServices    0x01874268 GSEventRunModal + 217 
12 GraphicsServices    0x0187432d GSEventRun + 115 
13 UIKit       0x002fa42e UIApplicationMain + 1160 
14 Time       0x00001e08 main + 102 (main.m:14) 
15 Time      0x00001d99 start + 53 
+2

...のalloc/initを、リリースまたはautoreleaseのためのあなたのUITableViewCellをチェックし、あなたのUITableViewCell

を解放する上で、あなたのコードを投稿していると思います。あなたは何かをリリースしています。 – robertvojta

+0

私は行やファイルを見つけることができないので、どの行がクラッシュエラーから解放されているかを知ることは可能ですか? – lifemoveson

+0

@lifemoveson:ちょうどクラッシュログを見るだけで実際にクラッシュを作成しているかもしれないと推測できないので、満足のいく回答を得るためにコードを投稿する必要があります。 –

答えて

1

この技術はcrashlogs上の技術的な情報を持っています

http://developer.apple.com/library/mac/#technotes/tn2004/tn2123.html

しかし、あなたはデバッグの問題ではなく、crashlog問題を抱えています。

は、ここでは、デバッグするためのヒントを参照してください:クラッシュログを解釈

http://www.cocoadev.com/index.pl?DebuggingTechniques

は練習が必要です。ここの人々はremoveFromSuperviewを見て、removeFromSuperviewがビューを削除して保持カウントを減少させるので、すぐに「ああ、これはメモリ問題です」と思うでしょう。保持カウントがすでにゼロである場合、もう一度デクリメントするとクラッシュする可能性があります。このように、彼らはあなたが

+0

ありがとうございました。抽象的な情報が狂った時にクラッシュをデバッグするのは本当に苦痛です。私は私がそれにスペースを割り当ててから必要と思ったが、必要でないことが判明した私のUITableViewCellを自動解放していた。 iOSは、メモリ管理のオプションをあまり多く与えないように、メモリ管理を即座に行う必要があります。 – lifemoveson

関連する問題