今天介绍下如何利用gdb调试qemuubuntu
一、首先获取qemu源码函数
获取地址:https://www.qemu.org/debug
二、编译安装qemu 调试
进入qemu目录 ./configure --enable-debug
code
make内存
make install源码
安装以后通常会在/usr/local/bin目录下生成各类可执行文件,其中咱们要调试的是qemu-system-x86_64(固然根据实际状况可能略有差别)虚拟机
三、安装虚拟机编译
好比:变量
qemu-img create ubuntu.12.04.qcow2 -f qcow2 8G
qemu-system-x86_64 -m 512 -enable-kvm ubuntu12.04.qcow2 ubuntu.iso
以后会跳出一个窗口显示安装进度
四、调试虚拟机
gdb qemu-system-x86_64 进入调试窗口
set args -m 1024 -enable-kvm /var/lib/libvirt/images/ubun-qcow2(-m制定内存大小 enable-kvm后跟的是镜像文件路径)
break main
start
开始调试便可
//////附简要GDB 命令
next(n):下一部
step(s):单步进入
bt 列举函数栈帧
print 查看变量或者内存的值
break 行号或者函数名:下断点
info breakpoints 查看当前断点信息
delete 清除全部断点
continue (c)运行到下一个断点
print /x var 16进制显示(var)值
print能够指定显示的格式,这里用'/x'表示16进制的格式。
能够支持的变量显示格式有:
x 按十六进制格式显示变量。
d 按十进制格式显示变量。
u 按十六进制格式显示无符号整型。
o 按八进制格式显示变量。
t 按二进制格式显示变量。
a 按十六进制格式显示变量。
c 按字符格式显示变量。
f 按浮点数格式显示变量。
print x=4 修改运行时候的变量值
以马内利