免费注册 查看新帖 |

Chinaunix

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

用QEMU+GDB 调试LINUX KERNEL的方法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-06-20 03:56 |只看该作者 |倒序浏览
1。安装QEMU,安装个LINUX虚拟机。被调试的是虚拟机。
2。重新编译虚拟机里LINUX KERNEL,打开DEBUG相关设置,具体设置可以看LDD3的第四章
3。用QEMU 启动被调试的虚拟机的时候,加上 -S 参数。注意是大写S,表示虚拟机一启动起来就先暂停(SUSPEND).
4。选中QEMU那个虚拟机,按 CTL+ALT+2切换到控制窗口,然后输入
gdbserver 1234. 意思是启动GDBSERVER,同时端口为1234。然后这时可以按c, 让QEMU继续运行。然后按CTRL+ALT+1 切换回虚拟机本身的显示。
5。在HOST(主机)上面启动一个GDB。如果要看LINUX KERNEL SYMBOL的话,最好在和虚拟机里编译LINUX KERNEL同样的路径上放上KERNEL的源码。
在启动GDB 的时候,用 gdb vmlinux 来启动。其中的vmlinux 是没压缩过,并且带符号表的格式,大小应该为30M 以上。
6。在GDB 里,输入 target remote localhost:1234。 这里的1234是和QEMU里的设置相对应。
7。回车,这时虚拟机应该被停了下来,同时在GDB里会显示一些随机的源码,显示GDB停在了什么地方。
8。这时,在GDB里,可以用b xxx设置断点,然后按c继续运行。
9。如果虚拟机已经运行了一半,这时想停下来加断点,可以在GDB里按CTRL+C.

论坛徽章:
2
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:09
2 [报告]
发表于 2009-06-20 22:51 |只看该作者

回复 #1 accessory 的帖子

1。安装QEMU,安装个LINUX虚拟机。被调试的是虚拟机。
安装linux虚拟机是什么意思?
QEMU+GDB 调试内核,根本不用安装虚拟机吧!只要在PC机上编译内核后,然后用qemu启动编译的内核就行了。没有楼主说的这么麻烦!而且现在有很多图形化的调试前段,比如说insight之类的,调试起来已经很方便了!不需要一些繁琐的命令,而且功能更强大!

论坛徽章:
0
3 [报告]
发表于 2009-06-21 00:09 |只看该作者

回复 #2 liujunwei1234 的帖子

你说的是另外一个办法。我知道一些,但是没用过。我怀疑你说的办法没法调试KERNEL MODULE。或者说,如果我先写一个USER LEVEL PROGRAM,然后想DEBUG 那个PROGRAM 调用的SYS CALL后发生的情况,可以用你说的方法调试么?我是不知道怎么用,所以我现在是用的1楼的方法。

论坛徽章:
0
4 [报告]
发表于 2011-11-18 20:32 |只看该作者
回复 3# accessory


    楼主用的是qemu的哪个版本,装的是哪个版本的linux,能否详细说一下,我装了个manager7.0的,其中qemu和加速器都是最新版,但是装fc10,ubuntu11.04都装不上

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
5 [报告]
发表于 2011-11-18 20:46 |只看该作者
你说的是另外一个办法。我知道一些,但是没用过。我怀疑你说的办法没法调试KERNEL MODULE。或者说,如果我先 ...
accessory 发表于 2009-06-21 00:09
看得不是很明白,是否可以画一张图?另外Host OS和Guest OS有点混乱~~

论坛徽章:
0
6 [报告]
发表于 2011-11-18 20:50 |只看该作者
回复 5# L_kernel


    host:
             xp + intel t5500

    client:
            ubuntu 11.04 or fc10


在xp上装qemu manager 7.0就是qemu网站上推荐的那个图形界面集成版(qemu+kqemu),在其上装ubuntu11.04 fc10都装不上,就是装到一个过程就一直卡在那


是想用qemu来替代vmware,因为其调试更方便而且支持多平台模拟
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP