LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 893|回复: 4

为调试设备驱动而编译内核的问题?

[复制链接]
发表于 2007-6-6 11:10:42 | 显示全部楼层 |阅读模式
查了一些资料,都是升级编译内核,而我是为了调试驱动而编译内核,有几个问题请教:

1,make-kpkg 命令可以加-g选项而使得内核带有调试信息吗?还是在menuconfig里面配置使得新内核有调试信息?

2、我想不能把驱动程序是编译进内核,因为如果有错误修改后还要重新一起编译驱动和内核,我想用insmod加载内核,从而去调试内核,请问这样的话,在编译驱动的时候,如果用-g选项添加调试信息,是否可以?
    如果只是给驱动编译时候加-g选项添加调试信息,不编译内核,可以调试驱动程序吗?
3、systemtap还需要用两台机子进行调试吗?可不可以进行单步调试?

小弟刚学习,各位大侠多包涵!多谢!
 楼主| 发表于 2007-6-6 13:43:37 | 显示全部楼层
调试内核的方法有:
1、两台电脑,串口线,使用kgdb
2、vmware安装两个虚拟操作系统,使用模拟串口,kgdb方式
3、skyeye针对嵌入式linux
4、systemtap
5、kprobe,kdb,dprobe

请问各位认为那种比较好,还有没有更方便一些的?调试一个驱动,总不能反复编译内核吧?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-7 08:39:34 | 显示全部楼层
我的帖子是不是发错地方了,怎么没人理我啊,如果发错地方,请版主给转到正确的位置,谢谢
回复 支持 反对

使用道具 举报

发表于 2007-6-7 09:33:37 | 显示全部楼层
调试驱动,当然用内核模块啦, 这样只要不是致命的错误, 出错时rmmod, 改好了insmod。 多方便啊
以前我搞驱动时, 都只用printk, 当然因为我的驱动比较简单, 所以基本上printk就能满足我的要求了。

如果你的驱动很复杂, ibm dw上有介绍内核的调试手段, 不过文章比较老, 现在内核里的一些新式方法你可能要自己找文档看看。

UML或者其它虚拟机可能也是不错的选择。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-8 13:42:25 | 显示全部楼层
多谢“超级用户”!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表