【问题标题】:What do the different exception codes in OS X / iOS Crash reports mean?OS X / iOS 崩溃报告中的不同异常代码是什么意思?
【发布时间】:2013-04-19 04:06:09
【问题描述】:

在 Apple 崩溃报告中,有两行提供崩溃报告的 Exception TypeException Codes。有人知道所有这些代码的实际含义吗?

有一些不言自明的,比如KERN_INVALID_ADDRESS

比如这个是NULL Pointer dereference

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

我发现的所有关于崩溃报告的信息都是this technote,但没有详细参考如何解释异常代码。

【问题讨论】:

  • 这可能是一个重复的问题(参考this
  • 感谢您的建议,但我对异常代码更感兴趣,而不仅仅是信号。 (在我的最后一个例子中,SIGBUS 可能意味着很多不同的东西,我假设代码 0x000000000000000a 包含更多细节)

标签: ios macos crash-reports


【解决方案1】:

可以在xnu source 中找到异常代码列表。 0x000000000000000a 是 KERN_MEM0RY_ERROR:

#define KERN_MEMORY_ERROR       10
    /* During a page fault, the memory object indicated
     * that the data could not be returned.  This failure
     * may be temporary; future attempts to access this
     * same data may succeed, as defined by the memory
     * object.
     */

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-24
    • 2012-03-03
    • 1970-01-01
    • 2018-04-03
    • 2013-11-08
    • 2012-03-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多