现在的位置: 首页 > 苹果驱动开发 > 正文
[Mac OS X]内核,MAC驱动调试工具包
2012年09月12日 苹果驱动开发 ⁄ 共 1353字 暂无评论 ⁄ 被围观 1,462 views+
扫描仪打印机USB驱动程序开发外包

[Mac OS X]下如何调试内核,如何调试MAC驱动,这里介绍的Kernel Debug Kit就是苹果官方提供的调试工具包。

每个正式版本的[Mac OS X]系统都会有对应的Kernel Debug Kit,里面包括以下内容

1.[Mac OS X]系统所有驱动及其符号表(.dSYM格式)

2.[Mac OS X]系统内核及其符号表(.dSYM格式),还有个debug kernel,debug kernel目前个人还没用过。

3.Kernel Debug Kit Read Me帮助文档,以及用于创建符号表(.sym格式)的脚本程序createsymbolfiles (其实这个脚本里面就是调用kextutil这个命令进行生成符号表的,个人比较习惯用kextutil生成符号表,因为有过映像是使用createsymbolfiles创建不了,阴影哈。)。

 

Kernel Debug Kit 获取方式:

10.6.2 build 10C540 以及以前的版本可以在这个链接获取。 (如果访问不了,google一下即可)

10.6.2 build 10C540 之后的版本,可以在developer.apple.com里面的找到。注意!如果没账户,请先免费注册个账户,登陆之后,耐心找。

[Mac OS X]内核,MAC驱动调试工具包 Kernel Debug Kit在什么情况下要使用呢?
死机!在Mac OS下称为kernel panic.
当发生死机,该如何进行定位、解决呢? (当然,你必须是驱动开发人员,或者内核开发人员)
在这里可以说的就是使用gdb进行调试。具体步骤在这里列也没什么意思哈。下面是官方有关Kernel Debug Kit文档的链接。
要学怎么定位死机原因?
点以下链接进去看看吧!  官方文档里面把整个流程都阐述清楚的了,如果发现有阻碍,大多是没把文档看懂。
Technical Note 2118 - Kernel Core Dumps.  (可以说是进阶哈,里面包括介绍如果联机抓系统dump文件,以及初步的调试手段。)
Debug a Kernel Extension with GDB. (这个也就是传说中的联机调试)
基本上,按上面文档走,一般问题都比较容易发现的。但是苹果系统驱动也是有BUG的,苹果的MAC OS X系统并不完美。
为了提高调试能力,你或许需要了解一下汇编语言和学习一下gdb这个强大的调试工具.
以上演绎自:http://blog.csdn.net/Ken_81515229/article/category/772844
[Mac OS X]内核,MAC驱动调试工具包扩展阅读:

下面的教程,你可以学习怎样debug kext驱动内核程序,通过安装设置一个两台机器的调试环境,用GDB来执行远程调试任务。加入你还没有创建"kext" 驱动程序,可以完成以下教程来创建一个: “Creating a Generic Kernel Extension with Xcode” or “Creating a Device Driver with Xcode”,加入你还不熟悉GDB,可以阅读《Debugging with GDB》。

调试kext的讨论:kernel debug kit for build 10F2025





扫描仪打印机USB驱动程序开发外包

给我留言

您必须 [ 登录 ] 才能发表留言!

最活跃的读者

网站统计

    日志:69篇
    评论:0条
    分类:7个
    标签:150个
    链接:3个
    网站运行:3732天
最后更新:2017年8月3日
×