10

我如何invoke//simulate process崩溃daemonOSX因此收到崩溃报告

/库/日志/DiagnosticRepors

(例如opendirectoryd_2013-06-11-125032_macmini61.crash)?

我尝试使用活动监视器强制退出守护进程,但没有收到任何报告。我需要崩溃一些系统或第三方进程(不是我自己开发的)。

4

2 回答 2

18

您可以通过向其发送“分段违规”信号来强制几乎任何进程崩溃。

示例:查找“opendirectoryd”的进程 ID:

$ ps -ef | grep 打开目录
    0 15 1 0 9:14am ?? 0:01.11 /usr/libexec/opendirectoryd
          ^-- 进程号

向进程发送信号:

$ sudo 杀 -SEGV 15

这将终止该过程并导致写入诊断报告,这可以在“system.log”中验证:

10 月 31 日 09:17:17 主机名 com.apple.launchd[1] (com.apple.opendirectoryd[15]):作业似乎已崩溃:分段错误:11
10 月 31 日 09:17:20 主机名 ReportCrash[420]:已保存 opendirectoryd[15] 版本的崩溃报告???(???) 到 /Library/Logs/DiagnosticReports/opendirectoryd_2013-10-31-091720_localhost.crash

但请注意,故意使系统服务崩溃可能会导致严重问题(系统不稳定、数据丢失……),因此您应该确切地知道自己在做什么。

于 2013-10-31T08:34:22.330 回答
1

除非您能找到一个合法的错误并让它以这种方式崩溃,否则您不能以一种会导致诊断报告的方式在外部使守护程序崩溃。所有强制戒烟功能都免于诊断报告,因为它们是外部问题。

于 2013-06-13T12:02:16.133 回答