【发布时间】:2017-02-27 09:15:52
【问题描述】:
我学会了在 macOS 10.12.3 中使用 lldb 调试 mac IOKit 驱动程序。
两机调试。
发生恐慌时很容易连接到目标机器。
我想知道如何显示目标机器系统消息?
lldb中是否有类似“dmesg”的命令?
【问题讨论】:
我学会了在 macOS 10.12.3 中使用 lldb 调试 mac IOKit 驱动程序。
两机调试。
发生恐慌时很容易连接到目标机器。
我想知道如何显示目标机器系统消息?
lldb中是否有类似“dmesg”的命令?
【问题讨论】:
您可以使用 FireWire 电缆连接目标和调试器机器。在目标机器的debug= 内核参数(DB_KPRT)中设置0x08 位,使用kprintf(注意:不是printf/IOLog)记录的任何内容都将被路由到FireWire。 (除非 Mac 有串行端口,否则会使用火线,而现代 Mac 没有 - 但虚拟机可以。)
要查看此输出,您需要在 Mac 上的火线电缆另一端运行 fwkpfv 命令。
此方法也适用于 Thunderbolt-to-Firewire 适配器和扩展坞,但我怀疑如果您热插拔它们就不行。
【讨论】: