在 Apple 崩溃报告中,有两行提供Exception Type
和Exception Codes
用于崩溃报告。有人知道所有这些代码的实际含义吗?
有一些不言自明的,例如KERN_INVALID_ADDRESS
:
例如,这是一个NULL 指针解引用:
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000000
如果你在指针算术上出错了,你最终会得到非常相似的结果:
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x00007fff50399000
但是有很多这样的异常代码!例如,这是我最近遇到的一个,我不知道它是什么意思(地址指向一个大的内存映射文件):
Exception Type: EXC_BAD_ACCESS (SIGBUS)
Exception Codes: 0x000000000000000a, 0x0000000137676004
我发现的有关崩溃报告的只是这个技术说明,但没有详细参考如何解释异常代码。