许多 OS X 崩溃报告都有此部分,如下面的引用所示
Exception Type: EXC_CRASH (SIGABRT) Exception Codes:
0x0000000000000000, 0x0000000000000000
Application Specific Information: objc[1769]: garbage collection is
OFF
Terminating app due to uncaught exception 'InvalidX', reason: 'X can't be 0'
First throw call stack:
在我的应用程序中有自定义崩溃处理。我所能做的就是处理信号,没有别的。我在哪里可以检索到这些有用的信息?
我发现您可以将消息设置为显示在内置崩溃报告中
static const char *__crashreporter_info__ = 0;
asm(".desc __crashreporter_info__, 0x10");
但我不想设置,而是在我的自定义信号和异常处理程序中检索该信息。
Best Answer-推荐答案 strong>
该技术每隔几个版本的操作系统就会改变。通常,崩溃报告器使用 dyld 调试器 API 枚举进程中的图像,并从每个崩溃缓冲区中提取任何信息。目前,IIRC 在数据段中有一个特别命名的 Mach-O 部分,它指向(或包含)一个包含数据的静态变量。
关于ios - 来自 OS X 崩溃报告的 "Application specific information",我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/34091248/
|