2011-07-12 21 views
5

私はiPhoneクラッシュレポートを分析しようとしています。Crashlogs: "ARMスレッド状態"とは

そして、私は理解していないものがある:

Thread 6 crashed with ARM Thread State: 
r0: 0x00000000 r1: 0x00000000  r2: 0x00000001  r3: 0x00000000 
r4: 0x077aa000 r5: 0x00000006  r6: 0x0010540c  r7: 0x077a9198 
r8: 0x001a0420 r9: 0x00000065  r10: 0x3fcb8acc  r11: 0x310d1b68 
ip: 0x00000148 sp: 0x077a918c  lr: 0x36ba33bb  pc: 0x32a29a1c 
cpsr: 0x00000010 

R0、R1、RXは何が?

私は以下を参照してください

r3: 0x00000000 

が、私は "オブジェクト" R3がnilであると仮定することはできますか?

carshlogsについて他の事を理解するすべてのヘルプは大歓迎:-)

+0

がクラッシュログが何を意味するかによって、彼らはあなたを歩いて、私はセッション317を考えるWWDC2010のための動画を見てみましょう:

現在地その使用のAppleのドキュメントを見つけることができます。彼らに焦点を当てる主なものは、クラッシュしたスレッドを見て、スタック内のアプリ名を探して、クラッシュした時点を特定することです。 –

答えて

5

彼らは問題のスレッドのためにあったように、これらは、ARMプロセッサのレジスタです。

ほとんどのrXレジスタでは、それらをオブジェクトのポインタというよりオブジェクトのポインタと考えることができます。ただし、直接値や住所を保持することもできます。

'pc'レジスタには、プロセッサが実行しようとしたコードの最後のアドレスが含まれています。これは、EXC_BAD_ACCESSとnilポインタの逆参照を試み、アドレス0からコードを実行しようとすることの違いを伝えるのに便利です。 http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/iPhoneOSABIReference/Articles/ARMv6FunctionCallingConventions.html

関連する問題