Welcome 微信登录

首页 / 操作系统 / Linux / Qemu kgdb调试内核

1,编译内核
按 linux-2.6.30 内核配置 版本5 编译内核 http://www.linuxidc.com/Linux/2011-12/49118.htm2,用Qemu 启动Linux
/usr/local/qemu/bin/qemu -kernel ./linux-2.6.30/arch/i386/boot/bzImage -hda ./1248179541.img -boot c -append "root=/dev/sda kgdboc=ttyS0,115200 kgdbwait" -net nic,vlan=0 -net tap,vlan=0,ifname=tap0,script=/etc/qemu-ifup -serial tcp::4321,server -alt-graba,/usr/local/qemu/bin/qemu  : qemu 程序,下边为参数
b,-kernel ./linux-2.6.30/arch/i386/boot/bzImage  :  指定内核
c,-hda ./1248179541.img :指定磁盘文件
d,-boot c :qemu 启动参数
e,-append "root=/dev/sda kgdboc=ttyS0,115200 kgdbwait" : 内核启动参数
f,-net nic,vlan=0 -net tap,vlan=0,ifname=tap0,script=/etc/qemu-ifup :网络接口参数
g,-serial tcp::4321,server :串口参数
h,-alt-grab :使用ctrl + Shift + Alt 作为热键3,启动GDB
gdb vmlinux设定波特率
set remotebaud 115200连接到调试系统
target remote localhost:4321当调试系统就绪时,会有如下信息
Remote debugging using localhost:4321
Malformed response to offset query, QC0000000000000001重新连接到调试系统
target remote localhost:43214,让系统启动完成(不打算调试启动过程的话)
continue5,让系统陷入调试
在目标系统上输入
echo g > /proc/sysrq-trigge=======================
使用qemu gdb-stub使用:A Qemu debug memo 0) 安装qemu  sudo apt-get install qemu qtemu1) 创建rootfs imgqemu-img create rootfs.img 5G mkfs.ext3 -b 2048 rootfs.img sudo mount -o loop rootfs.img /mnt2) 创建根文件系统没有?在虚拟机内安装一个精简的Ubuntu算了....3)启动qemu  (-S 让qemu停止,并等待gdb的链接)qemu -kernel export/common_pc-bzImage-WR2.0zz_cgl -hda rootfs.img -append "root=/dev/hda" -S4) 在qemu窗口输入ctrl+alt+2  切换到qemu 控制台输入gdbserver 64435) 启动gdbgdb common_pc-vmlinux-symbols-WR2.0zz_cgl>target remote  127.0.0.1:6443> b start_kernel> c   6)tips---比如设置了运行b fork, 在启动的时候可以c 50, 代表忽略50各种break point.  ---Ctrl+C 即可停止内核运行, bt可以看到当前运行的函数kgdb+Qemu-KVM调试环境建立方法和所需的相关文件Linux-2.6.30 内核配置 版本5 (版本4 增加KGDB)相关资讯      qemu 
  • Ubuntu 14.04中安装QEMU  (08月09日)
  • QEMU VGA模块任意代码执行漏洞(CVE  (05月13日)
  • QEMU 2.4.1 发布下载,开源模拟器  (11/07/2015 08:47:47)
  • QEMU VGA模块整数溢出漏洞(CVE-  (05月13日)
  • QEMU 2.5.0 发布下载,开源模拟器  (12/18/2015 08:26:14)
  • Ubuntu下使用KVM+Qemu 搭建虚拟机  (10/04/2015 06:48:51)
本文评论 查看全部评论 (0)
表情: 姓名: 字数