ubuntu18.04下双机驱动调试

本文详细介绍了在Linux环境下进行内核驱动调试的步骤与技巧,包括环境搭建、去除写保护、压缩并复制虚拟机系统文件、主动断点设置、符号文件加载及函数断点调试。通过实际案例演示如何在调试机与被调试机之间进行驱动调试,适用于希望深入理解Linux内核驱动开发的读者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境搭建:
https://blog.51cto.com/haidragon/2337256
这里要先说下如果要下内核断点要先在编译前去掉写保护,但是下自己写的驱动可以不要。
第二个最好编译完后压缩vm系统文件然后复制一份,这样就调试机与被调试机环境一模一样,同样编译生成的符号也有。
我这里是复制的也就是俩个系统一模一样的,只是一个是做客服端,一个是服务端。
开始第一个驱动编写:
https://blog.51cto.com/haidragon/2164619
编译完成后调试机与被调试机各一份最好在一个目录下面。同时最好目录里面东西都是各一份。
ubuntu18.04下双机驱动调试
然后被调试机安装驱动
ubuntu18.04下双机驱动调试
找到模块在内核中的偏移地址复制下来 等下用到
输入cat /sys/module/test/sections/.text 中间test为模块名称
ubuntu18.04下双机驱动调试
然后主动断下
输入echo g>/proc/sysrq-trigger被调试机卡住
ubuntu18.04下双机驱动调试
调试机就会收到 等待输入命令
ubuntu18.04下双机驱动调试
这里就是在调试机上操作了
安装要调试的模块
add-symbol-file 文件 模块偏移
add-symbol-file ../test/test.ko 0xffffffffc049a00
ubuntu18.04下双机驱动调试
然后就可以开始下函数断点调试了。这里就下卸载函数断点
输入 b hello_exit
ubuntu18.04下双机驱动调试
让系统继续执行
输入 c
ubuntu18.04下双机驱动调试
然后去被调试机上卸载驱动
ubuntu18.04下双机驱动调试
调试机上又收到了 等待输入 可以输入l命令看下源码这里没有什么功能就直接放行,让系统继续卸载。
ubuntu18.04下双机驱动调试

转载于:https://blog.51cto.com/haidragon/2339269

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值