[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一下即可)
那到底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这个强大的调试工具.
每个正式版本的系统都会有对应的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这个强大的调试工具.
相关文章推荐
- [Mac OS X] 内核、驱动调试 - Kernel Debug Kit---kernel panic 调试&分析
- MAC OS X 设备驱动开发翻译(I/O Kit Device Driver Design Guidlines) (一)
- (转)Mac OS X内核编程,MAC驱动开发资源汇总
- [Mac OS X 内核]_[创建一个鼠标事件传递给内核驱动]
- [Mac OS X] 内核、驱动开发资料汇总
- MACOSX驱动调试
- MAC OS X 设备驱动开发翻译(I/O Kit Device Driver Design Guidlines) (二)libkern C++运行时 【本文档终结翻译】
- 黑苹果驱动]Mac OS X Snow Lepard的内核功能扩展kext大致解析
- Mac OS X内核编程,MAC驱动开发资源汇总
- 驱动内核调试 WinDbg+虚拟机WMware+Win7 配置
- linux设备驱动学习笔记--内核调试方法之printk
- Linux内核驱动开发之KGDB单步调试内核(kgdboc方式)
- MacOSX上利用pyDev调试python
- VMware+Windgb+Win7内核驱动调试
- Windbg内核调试之三: 调试驱动
- mac OSX上eclipse adb 无法识别(调试)小米的解决方案
- Mac OS X的内核
- Windows驱动(3)-记一次内核模块导致蓝屏调试
- 在MAC OS X下安装usb转串口驱动(PL2303主控芯片)
- VMWare虚拟机内核驱动调试环境搭建过程记录