今天介紹下如何利用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 修改運行時候的變量值
以馬內利