8

今日、Crashlytics からクラッシュ レポートを受け取りましたが、何が問題なのかわかりません。私のアプリは何ヶ月も問題なく稼働しているので、これは 1 回限りのようです。

クラッシュはException Type EXC_BREAKPOINT Code UNKNOWN at 0xdefe

1    UIKit   _shadowImageInRectForSlice + 258
2    UIKit   _shadowImageInRectForSlice + 258
3    UIKit   -[UIActionSheet(Private) layout] + 3586
4    UIKit   -[UIActionSheet(Private) presentSheetInView:] + 268
5    myapp   GraphViewController.m line 135
             -[GraphViewController graphButtonPressed:] + 135
6    UIKit   -[UIApplication sendAction:to:from:forEvent:] + 72
7    UIKit   -[UIBarButtonItem(UIInternal) _sendAction:withEvent:] + 120
8    UIKit   -[UIApplication sendAction:to:from:forEvent:] + 72
9    UIKit  -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 30
10   UIKit  -[UIControl sendAction:to:forEvent:] + 44
11   UIKit  -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 502
12   UIKit  -[UIControl touchesEnded:withEvent:] + 488
13   UIKit  -[UIWindow _sendTouchesForEvent:] + 524
14   UIKit  -[UIApplication sendEvent:] + 380
15   UIKit  _UIApplicationHandleEvent + 6154
16   GraphicsServices   _PurpleEventCallback + 590
17   GraphicsServices   PurpleEventCallback + 34
18   CoreFoundation     __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 34
19   CoreFoundation     __CFRunLoopDoSource1 + 138
20   CoreFoundation     __CFRunLoopRun + 1384
21   CoreFoundation     CFRunLoopRunSpecific + 356
22   CoreFoundation     CFRunLoopRunInMode + 104
23   GraphicsServices   GSEventRunModal + 74
24   UIKit  UIApplicationMain + 1120
25   myapp   main.m line 16
             main + 16

ViewController の 135 行目は、単純[actionSheet showInView:self.view];UIActionSheet

クラッシュは iPad2.5 (どのモデルかは不明) で発生しましたが、私のアプリは iPhone のみなので、ウィンドウ化されていたはずです。そしてiOS 6.1

注意すべきもう 1 つのことは、デバイスがジェイルブレイクされていることです。これがクラッシュを引き起こした可能性はありますか?ビューを操作するために、あらゆる種類のプラグインをインストールできた可能性があることを私は知っています。

- - - - - 追加 - - - - -

これを書いている間に、2 番目のクラッシュ レポートを受け取りました。今回は iPhone4.1 上の iOS 5.1.1 であるため、別のユーザーからのもののようです。この電話もジェイルブレイクされていました。

Exception Type EXC_BAD_ACCESS Code KERN_INVALID_ADDRESS at 0x4003109b

0    libobjc.A.dylib     objc_msgSend + 15
1    UIKit   -[UIActionSheet(Private) _buttonClicked:] + 250
2    CoreFoundation  -[NSObject performSelector:withObject:withObject:] + 52
3    UIKit   -[UIApplication sendAction:to:from:forEvent:] + 62
4    UIKit   -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 30
5    UIKit   -[UIControl sendAction:to:forEvent:] + 44
6    UIKit   -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 492
7    UIKit   -[UIControl touchesEnded:withEvent:] + 476
8    UIKit   -[UIWindow _sendTouchesForEvent:] + 318
9    UIKit   -[UIWindow sendEvent:] + 380
10   UIKit   -[UIApplication sendEvent:] + 356
11   UIKit   _UIApplicationHandleEvent + 5826
12   GraphicsServices    PurpleEventCallback + 882
13   CoreFoundation  __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 38
14   CoreFoundation  __CFRunLoopDoSource1 + 140
15   CoreFoundation  __CFRunLoopRun + 1370
16   CoreFoundation  CFRunLoopRunSpecific + 300
17   CoreFoundation  CFRunLoopRunInMode + 104
18   GraphicsServices    GSEventRunModal + 136
19   UIKit   UIApplicationMain + 1080
20   myapp  main.m line 16
            main + 16

ViewControllerこれはクラッシュの原因さえ示していません!

アイデアはありますか?

4

1 に答える 1

9

この種のものは、特にコードやこのクラッシュログ以外のコンテキストがないと、デバッグが非常に難しいことに注意してください。私はいくつかの方向性/私がすることを与えることを試みます。

最初のiPad2,5はiPadminiWiFiのようですが、これについては完全にはわかりません。UIActionSheetしたがって、iPad miniでアプリをテストし(iOS 5.1.1を搭載したデバイスでもテストします)、何が起こるかを確認し、使用するインスタンスに焦点を合わせて、でテストを開始しますGraphViewController。あなたが考えることができるすべてのケースが正しく機能することを確認してください。

それが機能し、これらがあなたが持っている唯一の2つのクラッシュレポートである場合:慌てる必要はありません!アプリのユーザー数はわかりませんが、一度このクラッシュが発生したのは2人だけです。あなたは彼らがおそらく彼らのデバイスを脱獄したと言います、彼らはそれのためにアプリがクラッシュする可能性があることを知っています。

そのことを念頭に置いて、この問題の解決にもっと時間をかける価値があるかどうかを判断してください。

UIActionSheetインスタンスの使用中に解放される可能性のあるオブジェクトまたはブロックを確認できる場合は、EXC_BAD_ACCESS基本的に「OMG、使用する必要のあるオブジェクトはなくなりました!」と表示されます。

EXC_BREAKPOINTほとんどの場合、存在しないシンボルまたはフレームワークを参照していることがわかります。これは、電話がジェイルブレイクされているか、アプリがiOSバージョンXと互換性があると言っているが、より新しいバージョンでのみ使用可能なフレームワーク/メソッドを使用していることが原因である可能性があります。だからそれもチェックしてください。

この方法で疑わしいコードを見つけて、ここにStackOverflowに投稿できるか、自分で問題を解決できることを願っています。

これが正しい方向に少し役立つことを願っていますが、繰り返しになりますが、コードまたはいくつかのテストを実行する機能のないクラッシュレポートだけが続くことはあまりありません...

于 2013-02-10T11:03:11.040 に答える