您肯定希望有某种方法来恢复 fubar kext 安装:可引导的外部驱动器或您可以快速恢复的东西 - 这是 Apple 警告不要在您的生产机器上运行 in-development-kernel-extensions 的主要原因。
Nicholas 是对的,为了使用 gdb(内核空间中的唯一方法)进行调试,您确实需要两台机器。我从来没有尝试过像Coxy建议的那样使用VM:但我想这是可行的(假设你在虚拟机上运行你的kext并使用真正的主机来运行gdb)。
我在内核中跟踪和调试的首选方法是 kprintf() 路由到火线(又名火线 kprintf (man fwkpfv) )。为此,您确实需要两台带有火线端口的机器。
最后,作为一名老计算机音乐家,我想知道您为什么要在网络堆栈级别上编写一个 MIDI 合成器(或转换器)。我的猜测是,您将在用户区工作时获得更令人满意的体验(您可以在其中使用浮点数学......)
如果您需要一些提示或提示,请随时与我们联系...
|K<
来自ADC 内核编程指南
内核编程是一门黑魔法,应尽可能避免。幸运的是,内核编程通常是不必要的。您可以完全在用户空间中编写大多数软件。甚至大多数设备驱动程序(例如 FireWire 和 USB)都可以编写为应用程序,而不是内核代码。然而,一些低级驱动程序必须驻留在内核的地址空间中,如果您正在编写属于这一类的驱动程序,本文档可能会有点用处。