macOSX 如何在 lldb 中显示系统消息

macOSX How to show system message in lldb

我在macOS10.12.3.
学习使用lldb调试mac IOKit驱动 两个 machine 调试。 发生恐慌时很容易连接到目标 machine。 请问如何显示target machine系统信息? lldb中是否有类似"dmesg"的命令?

您可以使用 FireWire 电缆连接目标和调试器机器。在目标机器的 debug= 内核参数 (DB_KPRT) 中设置 0x08 位,以及使用 kprintf 记录的任何内容(注意:不是 printf/IOLog) 将被路由到 FireWire。 (除非 Mac 有串行端口,否则使用火线,而现代 Mac 没有串行端口 - 但虚拟机可以。)

要查看此输出,您需要在 Firewire 电缆的另一端 Mac 上执行 运行 fwkpfv 命令。

此方法也适用于 Thunderbolt-to-Firewire 适配器和扩展坞,但我怀疑如果您热插拔它们就不行。