免费注册 查看新帖 |

Chinaunix

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

kgdb为什么不能步过只能步入 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-09-14 16:31 |只看该作者 |倒序浏览
下载了的2.6.26的内核,加入了kgdb支持和调试符号,编译出内核,然后用这个内核启动,通过串口进行远程调试,发现不能单步走,现象如下:

(gdb) b sys_open
Breakpoint 1 at 0xc015e23c: file fs/open.c, line 1113.
(gdb) c
Continuing.

Breakpoint 1, sys_open (filename=0xc03326b8 "/dev/console", flags=2, mode=0) at fs/open.c:1113
1113                ret = do_sys_open(AT_FDCWD, filename, flags, mode);
(gdb) n
do_sys_open (dfd=-100, filename=0xc03326b8 "/dev/console", flags=2, mode=-1017290914) at fs/open.c:1085
1085        {
(gdb) l
1080        }
1081       
1082        EXPORT_SYMBOL(fd_install);
1083       
1084        long do_sys_open(int dfd, const char __user *filename, int flags, int mode)
1085        {
1086                char *tmp = getname(filename);
1087                int fd = PTR_ERR(tmp);
1088       
1089                if (!IS_ERR(tmp)) {
(gdb)

从vmlinux和bzimage的大小看不像是没有调试符号的问题,不知道什么情况啊
user@linux:/home/user/linux@ ls -l vmlinux
-rwxr-xr-x 1 user user 31138343 2011-09-14 16:12 vmlinux

user@linux:/home/user/linux@ ls -l arch/x86/boot/bzImage
-rwxrwxrwx 1 user user 15477968 2011-09-14 16:12 arch/x86/boot/bzImage

请问有使用过kgdb的吗?

论坛徽章:
0
2 [报告]
发表于 2011-09-14 16:54 |只看该作者
kgdb是可以单步调试的,不过可能并不会严格按照你所设想的单步走,经常会莫名其妙的进入一些分支。你多走几步就会发现基本上整体的流程还是正常下来的。
不过我就经常遇到调试时单步走的路径可能跟实际执行的路径不同,查看的变量信息也不对,所以现在都不用kgdb了,既麻烦又不可靠。

论坛徽章:
0
3 [报告]
发表于 2011-09-14 17:05 |只看该作者
这么夸张吗。。。。。
那大侠现在用什么调试内核

论坛徽章:
0
4 [报告]
发表于 2011-09-14 17:19 |只看该作者
kgdb可以用来确认一些执行过程,缩小问题范围,关键问题的确认还是printk比较靠谱。
当然还有很多其他的调试方法,没有深究过。

论坛徽章:
0
5 [报告]
发表于 2011-09-30 13:57 |只看该作者
kgdb可以适时的调试啊,关键是看重这一点,printk太麻烦了。。。

论坛徽章:
6
金牛座
日期:2013-10-08 10:19:10技术图书徽章
日期:2013-10-14 16:24:09CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2013-11-24 19:26:19未羊
日期:2014-01-23 15:50:002015年亚洲杯之阿联酋
日期:2015-05-09 14:36:15
6 [报告]
发表于 2011-09-30 16:15 |只看该作者
回复 5# superlzdcn
printk应该是最简单的调试方法吧?为什么会麻烦呢?

论坛徽章:
0
7 [报告]
发表于 2011-10-08 13:52 |只看该作者
要改代码,然后编译 ,如此循环。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP