qemu+kgdb调试内核模块笔记

本文介绍了如何使用qemu启动调试内核,并通过kgdb调试内核模块。详细步骤包括qemu的启动参数配置,调试内核模块的地址获取,以及在gdb中添加模块符号文件进行断点设置。调试过程中,关键在于确定模块的正确地址并成功加载符号表。
摘要由CSDN通过智能技术生成

最近编译个模块,加载的时候老是有问题,kgdb是个调试内核的工具,而用qemu就可以只需要一台机器实现调试的目的。

首先是qemu启动调试内核。

 

#qemu -s -hda ***.img -kernel linux-2.6.33.2/arch/x86/boot/bzImage -append "root=/dev/hda1 rw console=ttyS0 " -net nic,model=rtl8139  -net user  

 

上述命令中的拿个***.img是自己装的系统镜像,由于我需要的是32位debian,所以它是一个已经装好的32位debian系统,-kernel参数指定你要调试的内核,模块就是在这个内核的基础上调试,由于是做移植,所以用新的2.6.33.2的内核来调试后面要加载的模块,-append指定文件系统,这里我就按照规定用/dev/hda1,由于我只需要从虚拟己拷贝host机器的东西,所以我没装tap。以下是编译内核是必须选的选项,否则上述命令起动不了。

 


Under device drivers--->block devices:

CONFIG_BLK_DEV_LOOP

CONFIG_BLK_DEV_RAM

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值