免费注册 查看新帖 |

Chinaunix

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

[服务应用] KGDB调试内核模块 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-02-11 11:10 |只看该作者 |倒序浏览
最近用KGDB调试模块总不成功,有调试过的大神给指点一下。
develop是CentOS系统(虚拟机),target是arm9的板子,用的内核是linux-3.3版本的。
我的执行步骤如下:
1.编译内核,添加KGDB的调试选项,烧到开发板
2.使用minicom作为终端,通过串口连接开发板
3.设置uboot的环境变量,添加“kgdboc=ttyS2,115200 kgdbcon”,并启动开发板
4.在develop上的linux根目录下执行arm-none-linux-gnueabi-gdb vmlinux,进入kgdb调试状态
5.在target上执行“insmod test.ko”,通过“cat /proc/module”查看模块的加载地址。(假设为0xbf000000),
然后执行“echo g > /proc/sysrq-trigger”让开发板进入kgdb中断状态
6.在develop上kgdb调试状态下执行:“set remotebaud 115200”“target remote /dev/ttyS1”连接开发板,这个时候
开发板就不能输入了,接着在develop上继续输入“add-symbol-file ./test/test.ko 0xbf000000”把加载模块符号文件,
0xbf000000为target中模块在内核中的加载地址。再接下来输入“continue”命令继续运行程序。
现在问题来了,执行完continue命令develop和target都不能进行任何输入了,死在那里了,target不能接收任何信号,
develop只能接受ctrl+c,输入ctrl+c后会出现
“while waiting for the program.
Give up (and stop debugging it)?”
输入y后target才能继续接受输入

请问大神们,为什么会出现上面的现象,哪里做错了,如果有正确的设置步骤请共享一下,在网上看了很多资料都说的不详细,
用的内核版本也比较老。感激不尽!

论坛徽章:
0
2 [报告]
发表于 2015-02-12 10:56 |只看该作者
求大神指点一下啊,哪里没说清我可以再说一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP