Xcode 基于mac的KEXT开发与调试
我正在用Xcode在mac上开发一个KEXT,每次编译后我都会通过终端更改权限并加载KEXT,然后从控制台应用程序读取结果。开发过程中的一些错误导致系统内核恐慌,我不得不重新启动我的mac,这太烦人了。我想知道是否有更好的方法来开发和调试KEXT?这是一个太大的主题,无法回答,但它至少有很好的文档记录,请看以下来自苹果的文档:Xcode 基于mac的KEXT开发与调试,xcode,macos,debugging,kernel-extension,Xcode,Macos,Debugging,Kernel Extension,我正在用Xcode在mac上开发一个KEXT,每次编译后我都会通过终端更改权限并加载KEXT,然后从控制台应用程序读取结果。开发过程中的一些错误导致系统内核恐慌,我不得不重新启动我的mac,这太烦人了。我想知道是否有更好的方法来开发和调试KEXT?这是一个太大的主题,无法回答,但它至少有很好的文档记录,请看以下来自苹果的文档: 还请注意,您可以通过Firewire(在其他Mac上使用fwkpfv命令行实用程序)或串行端口(主要用于在VM中测试,因为现代Mac没有串行端口)从kprint
还请注意,您可以通过Firewire(在其他Mac上使用
fwkpfv
命令行实用程序)或串行端口(主要用于在VM中测试,因为现代Mac没有串行端口)从kprintf()
日志记录调用中获取输出kprintf
是同步的,因此与kernel.log不同,即使调试输出发生在崩溃之前,您也会看到它。FWIW,dmesg
似乎在我的计算机上显示kprintf
(和printf
)的输出。不知道它是同步的还是什么,但即使您不知道如何使os\u log
显示,它也能工作。