OSX 10.10,如何在睡眠和恐慌后生成核心转储文件?

Posted

技术标签:

【中文标题】OSX 10.10,如何在睡眠和恐慌后生成核心转储文件?【英文标题】:OSX 10.10, How to generate Core dump file after Sleep and panic? 【发布时间】:2015-12-16 07:58:41 【问题描述】:

我知道如何调试两台机器。现在我遇到一个问题。 我的 kext 支持系统睡眠。在我的驱动程序中,我实现了 setPowerState 功能。 但也许在 setPowerState 过程中发生了一些错误。 当系统进入睡眠状态时,它崩溃了,永远不会醒来。屏幕是黑的,按键盘没有任何反应,我必须按电源按钮5s重新启动系统。 在常见的 panic 情况下,将 coredump 文件传输到 coredump 服务器是可以的,但是当系统 sleep->panic 时,没有传输 coredump 文件!而且两台机器调试都不行! kdp-remote 无法连接到客户端。 我该怎么办?

【问题讨论】:

【参考方案1】:

您是否使用 Firewire 进行内核调试/控制台日志记录?在挂起过程中比以太网更晚关闭。我不能保证它一定能捕捉到你的错误,但值得一试。

【讨论】:

我使用以太网进行调试,它们有不同的性能吗?我没有注意到这一点。会试试的。 你也可以通过火线输出调试输出(客户端机器上的fwkpfv命令,你的kext中的kprintf()函数),这对于这类事情非常方便。

以上是关于OSX 10.10,如何在睡眠和恐慌后生成核心转储文件?的主要内容,如果未能解决你的问题,请参考以下文章

SIGABRT 不会在 MacOS 中生成核心转储

OS X 内核恐慌诊断。如何翻译回溯地址

如何在 OS X 上启用完整的核心转储?

如何在 OSX 10.10 Yosemite 上安装 xcode 5

在 OSX 上的 gdb 中转储核心(没有“gcore”或“generate-core-file”)

在 OSX 10.10 Yosemite 上安装 Nokogiri