免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5415 | 回复: 11
打印 上一主题 下一主题

请教调试内核的方法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-12-20 00:44 |只看该作者 |倒序浏览
在学调试内核,
用的是打印的方法,我是编应用程序调用驱动来显示内核打印信息的,
可不能总是为每一个驱动都编一个应用程序吧?这太操蛋了。。
请问有什么好的方法可以直接调试内核让他打印出信息?

论坛徽章:
0
2 [报告]
发表于 2013-12-20 09:48 |只看该作者
你是说驱动里面有个printk,你要用用户层调用这个才打印吗!
这个是必然的啊,程序不执行到这怎么打印。
其实看你是什么驱动,有些标准一点的,有现成的用户层程序与之对应。也有些设备模型可以通过/sys和/proc调试
如果你自己写一个只有你自己知道的驱动,只能你自己写个东西去调用它。当然你也可以通过/sys或/proc

论坛徽章:
0
3 [报告]
发表于 2013-12-20 21:52 |只看该作者
回复 2# wwxxxxll

是啊。。就是这种在驱动里添加的打印语句,很多地方都用了所以在调试时通过用应用层的程序
来调用相应的驱动函数来打印驱动的信息。我这开发板好多驱动,现在在调字符驱动。难道我需要每次
为一个驱动去编写一个应用程序来调试么?我觉得这种方法肯定不对,太操蛋了。应该有方法可以直接调试的,
这样可以大大缩短研发周期。用/sys和/proc这是看内核信息追加过去的对吧?我在调试时好像只能看到
init和exit函数内的打印。。估计是我还不知道怎么用吧。呵呵您能指点一下么?我现在在学用kgdb来调试。。。。。。
   

论坛徽章:
0
4 [报告]
发表于 2013-12-21 09:53 |只看该作者
本帖最后由 wwxxxxll 于 2013-12-21 09:56 编辑

回复 3# 港式茶餐厅
加群163617970
可以找到一些同好!


   

论坛徽章:
0
5 [报告]
发表于 2013-12-21 10:41 |只看该作者
ldd3上有说kgdb的调试方法,我也没有看..
写个open read write的应用还是超简单的

论坛徽章:
0
6 [报告]
发表于 2013-12-21 13:45 |只看该作者
回复 5# knightlyj

可能单独写一个部分应用会比较简单一些。但我觉得一定还有这种方法可直接调试的,毕竟这
是转了个弯啊。。呵呵。。继续探索中。。。



   

论坛徽章:
0
7 [报告]
发表于 2013-12-23 16:52 |只看该作者
回复 1# 港式茶餐厅


    最近正好分享了一些自己调试内核的一些方法。www.alivepea.me
    一般分为静态调试和动态调试。楼主可能最需要的是 ftrace .

论坛徽章:
0
8 [报告]
发表于 2013-12-23 16:54 |只看该作者
港式茶餐厅 发表于 2013-12-20 21:52
回复 2# wwxxxxll

是啊。。就是这种在驱动里添加的打印语句,很多地方都用了所以在调试时通过用应用层的 ...


在驱动上添加 debugfs 的支持,用文本和你的驱动交互。

论坛徽章:
0
9 [报告]
发表于 2013-12-23 20:37 |只看该作者
回复 8# linyunxian

谢谢。谢谢。。呵呵。。n努力探索。。


   

论坛徽章:
0
10 [报告]
发表于 2013-12-23 20:47 |只看该作者
本帖最后由 linyunxian 于 2013-12-23 20:47 编辑

回复错了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP