ubuntu12.04 下 利用 qemu kgdb 调试kernel

1.下载kernel

去www.kernel.org下载

2.编译kernel

make menuconfig

vim .config中

打开kgdb调试相关的项

关闭

CONFIG_DEBUG_RODATA = n
该选项是将内核的一些内存区域空间设置为只读,这样可能导致kgdb的
设置软断点功能失效。所以推荐将该选项关闭。
 
Location: 
     -> Kernel hacking
make 

3.安装qemu

sudo apt-get install qemu

4. sudo apt-get build-dep qemu-kvm来解决依赖关系

5. 安装QEMU

cd qemu-kvm-1.1.0
./configure --prefix=/usr/local/kvm
make
sudo make install

6.  sudo modprobe kvm-intel

7.我的电脑是intel处理器,需在bios里开启vt支持(这个之前不知道还要关这个,折腾了半天)

8.下载busybox,制作根文件系统

9.qemu-system-i386 -s -S -kernel linux-3.13.6/arch/i386/boot/bzImage -hda fsroot.img -append "root=/dev/sda     init=/bin/ash noapic"

10.另开一终端

gdb vmlinux

target remote localhost:1234

b start_kernel

c

备注:断点设置后,在qemu里没停下来,我系统是64位ubuntu12.04,改天找32位的试试,有网友说是gdb的事,64位需要打补丁。

参考链接:

http://cookingbsd.blog.51cto.com/5404439/925454

http://leave001.blog.163.com/blog/static/162691293201243110252209/

http://blog.chinaunix.net/uid-26009923-id-3825761.html

http://www.kgdb.info/kgdb/use_kgdb/enable_kgdb_option/

http://www.kgdb.info/kgdb/use_kgdb/using_kgdb_base_qemu/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值