【问题标题】:How to diagnosis app crash from OS X error log?如何从 OS X 错误日志中诊断应用程序崩溃?
【发布时间】:2010-09-13 21:52:30
【问题描述】:

短问:这个例外是什么意思? "EXC_BAD_ACCESS (0x0001)"

完整问题:如何使用此错误日志信息(以及我在此处省略的线程详细信息)来诊断此应用程序崩溃? (注意:我对崩溃日志或操作系统内核一无所知。)

在这种情况下,我的电子邮件客户端 (Eudora) 在每次启动时都会立即崩溃,并且没有明显的系统更改。

Host Name:      [name of Mac]
Date/Time:      2008-09-28 14:46:54.177 -0400
OS Version:     10.4.11 (Build 8S165)
Report Version: 4
Command: Eudora
Path:    /Applications/[...]/Eudora Application Folder/Eudora.app/Contents/MacOS/Eudora
Parent:  WindowServer [59]
Version: 6.2.4 (6.2.4)
PID:    231
Thread: 0
Exception:  EXC_BAD_ACCESS (0x0001)
Codes:      KERN_PROTECTION_FAILURE (0x0002) at 0x00000001

【问题讨论】:

    标签: macos crash kernel error-logging


    【解决方案1】:

    回答您的简短问题:EXC_BAD_ACCESS 表示非法内存访问。这意味着程序试图使用其虚拟地址空间之外的内存位置(粗略地说,它向操作系统内核请求的内存区域)。这就是Unix人通常所说的“分段错误”(segfault),而Windows人通常所说的“访问冲突”(AV)或“一般保护错误”(GPF)。 (是的,你可能已经知道了。但我只是确保......)

    崩溃报告是否说明引用了哪个内存地址?报告是否包括调用堆栈或核心转储?这三个都非常有价值,尤其是核心转储,因为您可以将其加载到调试器中并从异常点重新启动程序。如果内存地址看起来完全不正常(在虚拟地址的上半部分,或者非常接近 0,那么您就知道问题出在哪里了)。

    【讨论】:

      【解决方案2】:

      只是为了完成迈克尔的回答 - 分析崩溃日志不是您应该做的。 eudora 程序员搞砸了(或提供 eudora 程序员用来制作 eudora 的工具的人)。您可以做的最好的事情是将崩溃日志的全部内容复制并粘贴到邮件客户端(尝试 MAIL,因为您似乎无法使用 eudora,现在,哈哈哈),并将其发送到 eudora-support@ eudora.com 以及正在发生的事情的简短描述。找出问题所在是他们的工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-11-14
        • 1970-01-01
        • 1970-01-01
        • 2011-04-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多