Apple生成这些崩溃日志,我的线程0崩溃了,但这个问题不是这个问题。这是一般性问题,我想知道如何在碰撞分析中使用这些处理器寄存器值?他们如何帮助你调查你的崩溃?唯一出现在我脑海的是如果任何一个寄存器都有NULL指针,如下面的rcx
,它提供了一个关于代码中可能的空指针解引用的想法,那是正确的假设吗?崩溃报告中的CPU寄存器地址如何在分析中有用?
Thread 0 crashed with X86 Thread State (64-bit):
rax: 0x00000001046e17a0 rbx: 0x00000001043665f0 rcx: 0x0000000000000000 rdx: 0x00000001046e14f0
rdi: 0x00000001046e14e0 rsi: 0x00000001046314e8 rbp: 0x00007fff5b89f890 rsp: 0x00007fff5b89f7e0
r8: 0x00007fff686a7690 r9: 0x0000000000000250 r10: 0x00007fffa2478201 r11: 0x000000000009ea18
r12: 0x00000001046b11d8 r13: 0x00007fff686a75c8 r14: 0x00007fff686ae638 r15: 0x0000000000000000
rip: 0x00000001043601be rfl: 0x0000000000010206 cr2: 0x0000000000000060
Logical CPU: 0
Error Code: 0x00000004
Trap Number: 14
他们以各种方式帮助;事实上,你可以看到存储器地址或寄存器的值是多少...... –
@ l'L'l那是真的,但是你有什么方法使用它? – PnotNP