如何以编程方式获取应用程序,守护程序和OSX的崩溃/挂起报告?

Ste*_*sov 5 security macos objective-c

我知道有一种方法可以使所有应用程序崩溃并挂起。这些文件放置在“ /用户/用户/库/日志/诊断报告”中。这样我就可以获得应用程序的版本,时间和名称。

但是,如何使守护程序/进程崩溃并挂起?我需要知道哪个守护程序完全崩溃/挂起,以及它何时发生。

还有没有一种方法可以使某些具有相同信息的系统崩溃?

获得一些资源故障/警告也很不错:内存不足或磁盘空间不足。

我需要以编程方式获取它。

在Windows上,我们可以使用NotifyChangeEventLog()API进行此操作。我们可以使用这种方法收集所有这些信息。还会通知是否发生了什么。

cod*_*ody 3

有关守护程序崩溃/挂起报告,请参阅“/Library/Logs/DiagnosticReports”目录。根据此文档,您还可以找到内核恐慌报告(即系统崩溃)。
不知道类似NotifyChangeEventLog的API,但是在“内存不足”之类的情况下会出现异常,所以你只需要捕获它即可。有关详细信息,请参阅错误处理编程指南。另请查看异常编程主题

编辑:有关崩溃报告器的信息,请查看 Levin 的书“Mac OS X 和 iOS 内部结构:到 Apple 的核心”的第 5 章