Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios &引用;应用程序特定信息“;从OSX崩溃端口_Ios_Macos_Cocoa_Signals_Crash Reports - Fatal编程技术网

Ios &引用;应用程序特定信息“;从OSX崩溃端口

Ios &引用;应用程序特定信息“;从OSX崩溃端口,ios,macos,cocoa,signals,crash-reports,Ios,Macos,Cocoa,Signals,Crash Reports,许多OSX崩溃报告都有这一部分,如下面的引用 异常类型:EXC_崩溃(SIGABRT)异常代码: 0x0000000000000000,0x0000000000000000 特定于应用程序的信息:objc[1769]:垃圾收集是 关闭 由于未捕获的异常“InvalidX”正在终止应用程序,原因:“X不能为0” 第一次抛出调用堆栈: 在我的应用程序中,有自定义的崩溃处理。我所能做的就是处理信号,没有别的。我在哪里可以检索到这些有用的信息 我发现您可以将消息设置为显示内置的崩溃报告 static c

许多OSX崩溃报告都有这一部分,如下面的引用

异常类型:EXC_崩溃(SIGABRT)异常代码: 0x0000000000000000,0x0000000000000000

特定于应用程序的信息:objc[1769]:垃圾收集是 关闭

由于未捕获的异常“InvalidX”正在终止应用程序,原因:“X不能为0”

第一次抛出调用堆栈:

在我的应用程序中,有自定义的崩溃处理。我所能做的就是处理信号,没有别的。我在哪里可以检索到这些有用的信息

我发现您可以将消息设置为显示内置的崩溃报告

static const char *__crashreporter_info__ = 0;
asm(".desc __crashreporter_info__, 0x10");

但我不想设置,而是想在我的自定义信号和异常处理程序中检索该信息。

如果您希望生成崩溃报告,下面将显示如何捕获异常导致的Mach消息,然后生成崩溃报告


这项技术每隔几次发布操作系统就会发生变化。通常,crash reporter使用dyld调试器API枚举进程中的映像,并从每个映像中的崩溃缓冲区中提取任何信息。目前,IIRC在数据段中有一个特别命名的Mach-O部分,它指向(或包含)包含数据的静态变量

我认为你的问题措辞太含糊了。你是说从NSException中检索异常信息吗?这些文档讨论的是特定于应用程序的信息。我认为这是一种私有技术,所以苹果对此保持沉默。谢谢你指出。谢谢你的回答,@Rajesh,还有有趣的链接。不幸的是,主要问题还有一点,我需要在捕获信号时进行深入调试。OSX通常现在是它的原因,我不是。