GDB调试qemu-kvm
前面几篇博文都是记录一些kvm相关包编译安装及使用,但都没深入去代码看看。看源码在配合上相关原理才能更好的理解kvm。但qemu-kvm的代码量很多,对我来讲直接看源码收获甚少,所以找了个调试工具——GDB来配合阅读代码。接下来记录下GDB的使用。
1、qemu-kvm添加debug参数
http://www.cnblogs.com/grglym/p/7896266.html
上面链接的这篇博文中已经有提到编译安装qemu-kvm了,这里就不在记录。主要不同的是为了实现debug,需要在./configure时添加debug的相关配置参数;
./configure --prefix=/usr --enable-debug-tcg --enable-debug
图 1
make
make install
2、开启GDB调试
执行如下指令开启调试,指令中qcow2文件执行创建。如图2所示
gdb --args qemu-system-x86_64 -m 1024 -hda test1.qcow2 -cdrom ubuntu-14.04.5-desktop-amd64.iso -boot d --nographic
图 2
3、断点设置
首先需要在源码中找到你想查看的函数名,然后在(gdb)中输入
break 函数名
这样既可实现断点设置,如图3所示。
图 3
设置完断点后,可输入start开启调试, 输入字符“c”是继续执行;输入layout src则是查看源代码。
图 4
图 5
4、总结
以上即为利用GDB来调试qemu-kvm的过程,显然调试过程还不是很人性化,所以需要在源码里面添加代码作为输出更好的理解代码过程。