加载和卸载内核扩展 Mac

本文介绍了如何在Mac OS X上加载和卸载内核扩展(KEXT)。通过命令行工具,如`kextload`, `kextunload`, `kextutil`和`kextstat`,可以实现对内核扩展的操作。同时,文章提到了修改内核扩展权限以及启用日志输出的方法,以便于调试。" 125158509,10434378,2022G3锅炉水处理考试复习资料与实战解析,"['安全生产', '锅炉水处理']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • Xcode在编写和构建内核扩展方面非常强大,但她却无法测试和调试内核扩展;


  • Mac OS X上的内核扩展程序可以通过下列两种方式中的任意一种进行加载:

A:将内核扩展程序包(如HwlloWorld.kext)复制到 /System/Library/Extensions 目录下自动加载(重启?或者硬件插入电脑时候)

B:命令行手动加载


  • 在Xcode中构建的内核扩展时,深沉的KEXT程序包及其内容都会有正确的权限掩码,但用户及组的所有权属于运行编译器的用。如果要根据内核扩展的需要修改文件的所有权,可以在Terminal上使用如下命令:

sudo chown -R root:wheel HelloWorld.kext

请注意,不要在Xcode生成kext的目录下修改,否则下次Build的时候会遇到权限不够的尴尬~~。


kextload: 将KEXT加载到内核

kextunload: 卸载

kextutil: 加载到内核,提供诊断信息

kextstat: 显示所有加载到内核中到KEXT列表


按照Tutorial中的提示加载了HelloWorld.kext,加载成功,但是没有日志输出到/var/log/kernel.log,而且这个文件也不存在;

用如下命令:sudo sysctl -w debug.kextlog=0x0007780E 

在system.log中看到了输出(Console程序

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值