ubuntu12.04 下 利用 qemu kgdb 调试kernel

来源:互联网 发布:移除数组中的重复元素 编辑:程序博客网 时间:2024/06/07 02:45

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
原创粉丝点击