免费注册 查看新帖 |

Chinaunix

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

如何跟踪调用内核驱动程序的二进制应用文件? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-02-09 23:05 |只看该作者 |倒序浏览
各位GX:

我下面的问题需要帮助:
如何跟踪调用内核驱动程序的二进制应用文件?

1. 这个应用程序是二进制文件,它使用该设备的IOCTL控制设备信息;
2. 我目前运行了2.6内核Debug版本,该设备的驱动程序也加到里面了,Linux下有该设备驱动程序的源代码;
3. 现在问题是,该设备的IOCTL参数没有文档说明,我需要跟踪该二进制应用程序去分析得到参数的具体值:
4. 我现在做的是:
I
用GDB设置断点跟踪着这个程序的IOCTL调用

问题是,我如何跟踪到驱动程序的源代码, 当应用程序调用驱动程序的IOCTL函数时?
而且我需要能够直接在GDB里看到调用IOCTL时的参数结构值(该结构及函数可以在驱动程序源代码里得到)?


多谢帮忙了

Cisco GUyd

[ 本帖最后由 ciscoguy_2008 于 2006-2-9 23:21 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-02-10 07:33 |只看该作者
gdb好像不能调试内核态运行的程序吧?

论坛徽章:
0
3 [报告]
发表于 2006-02-10 09:10 |只看该作者
原帖由 sakulagi 于 2006-2-10 07:33 发表
gdb好像不能调试内核态运行的程序吧?


双机就可以了,

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
4 [报告]
发表于 2006-02-10 09:15 |只看该作者
原帖由 雨丝风片 于 2006-2-10 09:10 发表


双机就可以了,


kgdb? 呵呵.

楼主不介意的话.我把这贴移到内核版块.

论坛徽章:
0
5 [报告]
发表于 2006-02-10 09:24 |只看该作者
驅動提供了給應用程序API, 那麼調試驅動程序時就單獨調試驅動程序, 調試應用程序就單獨調試應用程序。 想從用戶態跟蹤系統調用進入到內核態跟蹤, 不太現實

论坛徽章:
0
6 [报告]
发表于 2006-02-10 12:28 |只看该作者

回复 5楼 albcamus 的帖子

问题是我不调试驱动程序,只是想跟踪调用。应用程序本身也是二进制的,没有符号文件。

就象我以前用Softice跟踪Windows的kernel调用一样,我希望在内核的驱动程序的函数上设断点跟踪。

论坛徽章:
0
7 [报告]
发表于 2006-02-10 13:30 |只看该作者
原帖由 albcamus 于 2006-2-10 09:24 发表
驅動提供了給應用程序API, 那麼調試驅動程序時就單獨調試驅動程序, 調試應用程序就單獨調試應用程序。 想從用戶態跟蹤系統調用進入到內核態跟蹤, 不太現實


当然可以从用户api一直跟踪到内核api,solaris就可以, 最简单的办法就是dtrace。

不知道linux下的kprobe能不能做到,估计够呛/

不过,用kgdb设置断点到dirver里的ioctl,查看传入参数值应该能解决楼主的问题。

论坛徽章:
0
8 [报告]
发表于 2006-02-10 13:51 |只看该作者

回复 7楼 Solaris12 的帖子

>> 当然可以从用户api一直跟踪到内核api
观察用户到那些系统调用, strace可以; 但如果说到了kernel之后能否进行源代码级别的调试, 就很难说了, 因为debugger甚至都无法确定内核编译时是否带了DEBUG INFO或者STACK FRAME这些选项。

solaris倘若能做到, 想必是debugger、kernel之间有协同, 是考虑到彼此的需要的。 linux则太灵活, 个人感觉不大可能有如此紧密耦合的东西出现

论坛徽章:
0
9 [报告]
发表于 2006-02-10 14:26 |只看该作者
截获sys_ioctl 系统调用不可以吗

论坛徽章:
0
10 [报告]
发表于 2006-02-10 14:33 |只看该作者

回复 7楼 Solaris12 的帖子

我必须用kgdb吗? 如何得到kgdb和使用?
另外,可不可以单机调试?,我可以用的debug版本的kernel启动。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP