Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 基于mac的KEXT开发与调试_Xcode_Macos_Debugging_Kernel Extension - Fatal编程技术网

Xcode 基于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

我正在用Xcode在mac上开发一个KEXT,每次编译后我都会通过终端更改权限并加载KEXT,然后从控制台应用程序读取结果。开发过程中的一些错误导致系统内核恐慌,我不得不重新启动我的mac,这太烦人了。我想知道是否有更好的方法来开发和调试KEXT?

这是一个太大的主题,无法回答,但它至少有很好的文档记录,请看以下来自苹果的文档:


还请注意,您可以通过Firewire(在其他Mac上使用
fwkpfv
命令行实用程序)或串行端口(主要用于在VM中测试,因为现代Mac没有串行端口)从
kprintf()
日志记录调用中获取输出
kprintf
是同步的,因此与kernel.log不同,即使调试输出发生在崩溃之前,您也会看到它。

FWIW,
dmesg
似乎在我的计算机上显示
kprintf
(和
printf
)的输出。不知道它是同步的还是什么,但即使您不知道如何使
os\u log
显示,它也能工作。