如何使用gdb结合qemu调试linux内核源码

1.编译linux内核源码

$make menuconfig

进入选项Kernel hacking选项,选中kernel debugging和Compile kernel with debug info选项,保存退出。

$make

成功编译后产生arch/i386/boot/bzImage

 

 

2.从qemu官网下载linux-0.2.img

 

3.开始测试

 

【使用sda硬盘】

$qemu -S -kernel arch/i386/boot/bzImage -hda ../linux-0.2.img -append "root=/dev/sda"

(Ctr l+ Al t+ 2)

 

【使用sda硬盘】

或者直接运行:qemu -S -kernel arch/i386/boot/bzImage -hda linux-0.2.img -append "root=/dev/sda" -gdb tcp::1234

等价于:qemu -s -S -kernel arch/i386/boot/bzImage -hda linux-0.2.img -append "root=/dev/sda"

这样是可成功挂载文件系统的。

 

$netstat -tlnp

 

$gdb vmlinux

 

 

vimgdb效果图

 

其中的使用细节可参考http://blog.csdn.net/sanlinux/archive/2010/07/10/5725995.aspx

 

《Android中使用arm-eabi-gdb和vim进行调试 》

尤其注意在target remote的情况下运行的命令是c,而不是run。

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值