您的位置:首页 > 其它

[Mac OS X] 内核、驱动调试 - Kernel Debug Kit

2011-08-23 00:01 169 查看
Kernel Debug Kit是苹果官方提供的调试工具包。

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

1.系统所有驱动及其符号表(.dSYM格式)

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

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

Kernel Debug Kit 获取方式:

10.6.2 build 10C540 以及以前的版本可以在这个链接获取。 (这个是官方链接,如果有任何改动,google一下即可)


10.6.2 build 10C540 之后的版本,可以在developer.apple.com里面的找到。注意!如果没账户的必须先注册个账户(免费),登陆之后,你要相信你一定能找到,因为这个东西找不到的时候,相信要不是苹果即将倒闭了,应该就是你将要被离开程序员这个行业......嘿

那到底Kernel Debug Kit在什么情况下要使用呢?
死机!在Mac OS下称为kernel panic.
那死机后,你该怎样进行定位、解决呢? (当然,你必须是驱动开发人员,或者内核开发人员)
在这里可以说的就是使用gdb进行调试。具体步骤在这里列也没什么意思哈。下面附上强大的官方文档的链接。

要学怎么定位死机原因?
点以下链接进去看看吧! 官方文档里面把整个流程都阐述清楚的了,如果发现有阻碍,大多是没把文档看懂。
Technical Note 2063 - Understanding and Debugging Kernel Panics.
Technical Note 2118 - Kernel Core Dumps. (可以说是进阶哈,里面包括介绍如果联机抓系统dump文件,以及初步的调试手段。)
Debug a Kernel Extension with GDB. (这个也就是传说中的联机调试)

基本上,按上面文档走,一般问题都比较容易发现的。(可以很负责任地说,苹果系统驱动也是有BUG的,苹果的系统并不完美。不过不要出问题就往系统身上赖,除非你找到充分的理由)
为了提高调试能力,你或许需要了解一下汇编语言和学习一下gdb这个强大的调试工具.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: