14

私は時々このクラッシュレポートを受け取ります:

Name: SIGSEGV
Reason: SEGV_ACCERR
Stack Trace:

0 MyApp 0x00070456 0x1000 + 455766
1 MyApp 0x0007a34d 0x1000 + 496461
2 MyApp 0x0007a4f1 0x1000 + 496881
3 MyApp 0x000d31dd 0x1000 + 860637
4 MyApp 0x00067f0f 0x1000 + 421647
5 MyApp 0x0005ad69 0x1000 + 367977
6 MyApp 0x000081e3 0x1000 + 29155
7 MyApp 0x00008ae9 0x1000 + 31465
8 CoreFoundation 0x35a547e4 __invoking___ + 68
9 CoreFoundation 0x359af7b1 -[NSInvocation invoke] + 160
10 Foundation 0x3556268f -[NSInvocationOperation main] + 114
11 Foundation 0x354fb393 -[__NSOperationInternal start] + 862
12 Foundation 0x35564793 __block_global_6 + 102
13 libdispatch.dylib 0x348dec59 _dispatch_call_block_and_release + 12
14 libdispatch.dylib 0x348e1817 _dispatch_worker_thread2 + 258
15 libsystem_c.dylib 0x32e0edfb _pthread_wqthread + 294

このクラッシュ レポートがわかりません。また、いつ発生するかわかりません。

このクラッシュについて詳しく調べる方法はありますか?

この問題を解決するにはどうすればよいですか?

4

3 に答える 3

6

クラッシュ レポートをシンボル化する必要があります。これにより、行 0 から 7 のアドレスが意味のあるクラス、メソッド、および行番号に変換されます。通常、クラッシュの原因となったビルドのバイナリが残っている場合、Xcode は自動的にこれを行います。

于 2012-07-30T09:49:34.627 に答える
0

SIGSEV エラーは、アクセスが許可されていないメモリを取得しようとしたときに送信されるシグナルです。

この問題を解決する最善の方法は、問題のある行を見つけるために、行ごとにブレークポイントとジャンプ行を配置することです

または、問題があったかどうかを確認するためにいくつかのデバッグ ログを配置することもできます

SIGSEV または SEGV_ACCERR の意味を理解するために、インターネットで詳細情報を検索できます;)

于 2012-07-25T10:43:23.350 に答える