web-dev-qa-db-ja.com

iosクラッシュEXC_BAD_ACCESS KERN_INVALID_ADDRESS

MyAppは98%の時間で正常に動作しますが、クラッシュすることがあります。そしてそのとてもランダム。

クラッシュレポートは次を示します。

Thread : Crashed: com.Apple.main-thread
0  libobjc.A.dylib                0x3b1ae626 objc_msgSend + 5
1  Foundation                     0x310e2381 _netServiceMonitorCallBack + 104
2  CFNetwork                      0x302ea3b5 _QueryRecordReply(_DNSServiceRef_t*, unsigned int, unsigned int, int, char const*, unsigned short, unsigned short, unsigned short, void const*, unsigned int, void*) + 324
3  libsystem_dnssd.dylib          0x3b7289d9 handle_query_response + 168
4  libsystem_dnssd.dylib          0x3b72773f DNSServiceProcessResult + 582
5  CFNetwork                      0x302ea3e5 _SocketCallBack_Mon(__CFSocket*, unsigned long, __CFData const*, void const*, void*) + 20
6  CoreFoundation                 0x30691189 __CFSocketPerformV0 + 580
7  CoreFoundation                 0x3068efaf __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 14
8  CoreFoundation                 0x3068e477 __CFRunLoopDoSources0 + 206
9  CoreFoundation                 0x3068cc67 __CFRunLoopRun + 630
10 CoreFoundation                 0x305f7729 CFRunLoopRunSpecific + 524
11 CoreFoundation                 0x305f750b CFRunLoopRunInMode + 106
12 GraphicsServices               0x355336d3 GSEventRunModal + 138
13 UIKit                          0x32f58871 UIApplicationMain + 1136
14 MyApp                          0x0013f813 main (main.m:16)

これらはすべて内部メソッドに見えます。 iOS 7.1.2を実行しているiPad 4でこれらのクラッシュが発生します。どうすればそれを特定できますか。すべてが高く評価されています。

46
Sj.

このクラッシュは、宙ぶらりんのポインターが原因で発生します。変数またはオブジェクトが既に割り当て解除されているオブジェクトにアクセスしようとすると、このクラッシュが発生します。

31
Indrajeet

これは古い質問ですが、EXC_BAD_ACCESS KERN_INVALID_ADDRESSクラッシュはメモリリークによるものではなく、割り当て解除されたオブジェクトへのアクセス試行によるものです。割り当て解除されたオブジェクトのメモリは現在、異なるタイプの別のオブジェクトによって占有されている可能性があるため、クラッシュスタックの最後の行は実際にはプログラムされた実行パスの一部ではないため、誤解を招く可能性があります。通常、トレースを検索する必要があります若干。ただし、@ Sjによってポストされるスタックトレースは基本的にシステムコールのみで構成されるため、非常に困難です。これがデバッグセッションで生成される場合、「すべての例外」ブレークポイントを追加すると、より有益なスタックトレースの生成に役立つ場合があります。

40
CodeBrew