0

Xcode 4.5.2 でアプリケーションがクラッシュしたとき、コードにクラッシュの行がありませんでした。クラッシュは象徴化されていません。

クラッシュ ハンドラをテストするために、次の行を追加しました。

NSMutableArray *arr = [NSMutableArray array];
[arr objectAtIndex:2];

アプリケーションがクラッシュすると、次のメッセージが表示されました。

libobjc.A.dylib`_cache_getImp:
0x204c048:  movl   8(%esp), %ecx
0x204c04c:  movl   4(%esp), %edx
0x204c050:  pushl  %edi
0x204c051:  movl   8(%edx), %edi
0x204c054:  pushl  %esi
0x204c055:  movl   (%edi), %esi
0x204c057:  movl   %ecx, %edx
0x204c059:  shrl   $2, %edx
0x204c05c:  andl   %esi, %edx
0x204c05e:  movl   8(%edi,%edx,4), %eax
0x204c062:  testl  %eax, %eax
0x204c064:  je     0x204c06f                 ; _cache_getImp + 39
0x204c066:  cmpl   (%eax), %ecx
0x204c068:  je     0x204c080                 ; _cache_getImp + 56
0x204c06a:  addl   $1, %edx
0x204c06d:  jmp    0x204c05c                 ; _cache_getImp + 20
0x204c06f:  popl   %esi
0x204c070:  popl   %edi
0x204c071:  jmp    0x204c086                 ; _cache_getImp + 62
0x204c073:  nopw   %cs:(%eax,%eax)
0x204c080:  popl   %esi
0x204c081:  popl   %edi
0x204c082:  movl   8(%eax), %eax
0x204c085:  ret    
0x204c086:  xorl   %eax, %eax
0x204c088:  ret    
0x204c089:  nopl   (%eax)

クラッシュの行へのリンクはもうありません。

ありがとう。

4

1 に答える 1

0

このオプションのチェックを外すことでこれを修正しました:

製品 > デバッグ ワークフロー > デバッグ時に逆アセンブリを表示

そして完了!

于 2012-12-19T10:44:37.890 に答える