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

  GDB调试qemu-kvm

图 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

 GDB调试qemu-kvm

图 2

3、断点设置

首先需要在源码中找到你想查看的函数名,然后在(gdb)中输入

break 函数名

 这样既可实现断点设置,如图3所示。

GDB调试qemu-kvm

图 3

设置完断点后,可输入start开启调试, 输入字符“c”是继续执行;输入layout src则是查看源代码。

GDB调试qemu-kvm

图 4

GDB调试qemu-kvm

图 5

4、总结

以上即为利用GDB来调试qemu-kvm的过程,显然调试过程还不是很人性化,所以需要在源码里面添加代码作为输出更好的理解代码过程。

相关文章:

  • 2022-12-23
  • 2021-06-29
  • 2021-11-16
  • 2021-09-23
猜你喜欢
  • 2021-05-17
  • 2022-01-21
  • 2021-06-15
  • 2022-12-23
  • 2021-04-28
  • 2021-11-04
  • 2021-10-01
相关资源
相似解决方案