在Mac上开发和调试KEXT

3

我正在使用Xcode在mac上开发KEXT。每次编译后,我都需要通过终端更改权限并加载KEXT,然后从控制台应用程序读取结果。一些开发中的错误会导致系统产生内核崩溃,我必须重新启动我的Mac,这非常令人烦恼。我想知道是否有更好的方法来开发和调试KEXT?

1个回答

6
这个话题太大了,无法通过一个答案来解决,但至少有很多文档可以参考,可以查看这些来自苹果的文档: 此外,请注意您可以通过Firewire(使用另一台Mac上的fwkpfv命令行实用程序)或串口获得kprintf()日志调用的输出(主要适用于在VM中进行测试,因为现代Mac没有串口)。 kprintf是同步的,因此与内核日志不同,即使在崩溃之前立即发生调试输出,您也将看到调试输出。

就我个人而言,dmesg 在我的电脑上似乎显示了 kprintf(和 printf)的输出。不知道它是否同步或者怎么样,但是即使你无法弄清楚如何让 os_log 显示出来,它也可以工作。 - saagarjha

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接