如何从macOS获取系统诊断文件?


Answers:


19

单个崩溃报告存储在〜/ Library / Logs / CrashReporter中,但是有一个名为sysdiagnose的系统范围的日志收集工具。

一旦开始遇到问题,请按住4个控制键,然后按句号“”。键。shift+ control+ option+ command+.

大约15秒后,将打开一个Finder窗口,突出显示sysdiagnose文件。

一旦开始遇到问题,请按住“ shift” +“ control” +“ option” +“ command”键,然后按句点“”。 键。

该快捷方式仅执行sysdiagnose命令,因此,如果您熟悉终端并希望传递进程ID,则可以获得有关该特定程序的增强调试信息。快捷键不带任何参数调用该工具,仅捕获基本报告。


有没有办法通过命令行获取?
Sidasa 2012年

1
~/Library/Logs/CrashReporter不包含.crash文件。而是:/Library/Logs/DiagnosticReports~/Library/Logs/DiagnosticReports
格雷厄姆·佩林

仅当stackshot守护程序运行时,sysdiagnose的和弦才会起作用。在我的回答中launchctl命令将启动守护程序。
Graham Perrin

sysdiagnose命令在OS 10.6中也可用吗?我找不到手册页,which sysdiagnose在OS 10.6.8中什么也不返回,还是必须显式安装它?
MostlyHarmless

1
@Martin我的答案经过编辑以解决您的问题。
Graham Perrin 2013年

16

苹果系统诊断

此Shell脚本(在10.8及更低版本上)和在10.9上具有相同名称的可执行程序:

  • 收集系统范围的诊断信息
  • 是OS X Lion和更高版本不可或缺的
  • 不能单独下载
  • 不是开源的(我已经要求苹果这样做)。

准备仅键盘方式进行sysdiagnose

在终端中,运行以下命令。

sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.stackshot.plist
  • 如果提示您输入密码,请输入操作系统的管理员密码
  • 这是一次性的,无需重复命令。

记下以下和弦的书面说明,稍后您将需要它:

Control- Option- Command- Shift-.

系统诊断

发生问题时:

  1. 使用和弦
  2. 至少十秒钟,不要触摸任何东西
  3. 可能需要五到十分钟sysdiagnose才能完成例程的所有部分–只需等待尽可能长的时间(屏幕上不会显示进度)
  4. Finder应该打开最终结果的窗口。

非常好

在极少数情况下,问题可能导致系统诊断无法完成(我已向Apple提出了改进建议)。如果发生这种情况-如果您确定等待了足够长的时间-重新启动Mac是明智的。然后:

  1. 在Finder中,转到 /private/var/tmp
  2. 查找名称以sysdiagnose_开头的文件或文件夹
  3. 如果该文件或文件夹存在,请将其移动到方便的位置-也许是台式机。

提示

如果没有和弦,则可以从命令行运行sysdiagnose(请参阅下面的Apple手册页)。但是,使用和弦通常更有用,或者有必要-因此要做好准备。

虽然我不鼓励不小心,你可以稍不小心用Control- Option- Command- Shift- ....如果你努力,以避免fn在您的笔记本电脑的关键,不要担心; 包括意外在内不应阻止它的运行sysdiagnose


系统诊断的人为分析

提示:某人可能想问一个关于分析结果的单独问题sysdiagnose–一个更笼统的答案可能会有用。

如果来自该/tmp区域的sysdiagnose_… 是文件

sysdiagnose_….tar.gz文件的存在表明sysdiagnose例程的所有部分都已完成,并且结果已存档。如果需要,请打开存档-其内容将显示为文件夹。

如果来自该/tmp区域的sysdiagnose_… 是文件夹

一个存在sysdiagnose_…的文件夹(不是.tar.gz文件)表明,或是:

  • 例程在完成之前被打断;要么
  • 例程的某些部分无法完成。

在存档/文件夹中

有些文件是人类可读的,可能有助于解决问题。

其他文件更面向开发人员。

有关:

对于不完整的运行,sysdiagnose将注意力集中在异常为空的文件上可能会很有用……


技术说明和其他说明

stackshot(1)OS X手册页

sysdiagnose(1)OS X手册页

上面的内容是出现在其他位置的更通用版本的已接受答案


诊断和使用信息,其他相关文件

遵循控制台中的日志列表:

控制台侧边栏的屏幕截图

期望在以下路径中找到文件:

  • 〜/图书馆/日志/诊断报告
  • /图书馆/日志/诊断报告
  • 〜/图书馆/日志
  • /图书馆/日志
  • /私人/无功/日志

2
→Graham:这是+天:需要学习的东西!我认为,如果该工具是开源的,则它将使所有系统管理员的输入受益。
2013年

0

Console

要查找现有的诊断文件或崩溃文件,请打开控制台应用程序,然后在“ 用户报告”(位于~/Library/Logs/DiagnosticReports)或“ 系统报告”(位于/Library/Logs/DiagnosticReports)部分中找到文件。请参阅:在哪里可以找到我的崩溃日志?

sysdiagnose

根据macOS的官方sysdiagnose说明,您可以sysdiagnose通过以下任一方式触发触发:

注意:要访问上面的链接,您需要先登录到Developer Apple网站

  • 同时短暂按下以下键:

    Command- Option- Shift- Control-Period (.)

    等一下 该sysdiagnose过程可能需要10分钟才能完成。完成后,Finder将自动出现,在中显示生成的文件/private/var/tmp/(例如sysdiagnose_2017.mm.dd_hh-mm-ss-0000_12345.tar.gz)。

  • sysdiagnose通过输入以下命令从终端触发a :

    sudo sysdiagnose
    

堆芯

要生成崩溃核心转储,请参阅:如何在macOS上生成核心转储?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.