zoukankan      html  css  js  c++  java
  • GDB调试qemu-kvm

    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的过程,显然调试过程还不是很人性化,所以需要在源码里面添加代码作为输出更好的理解代码过程。

  • 相关阅读:
    minio 注意事项
    vim编辑器的快捷命令
    kubernetes Label的增删改查
    JVM java堆内存
    navicat注册机
    hibernate学习笔记_基础配置
    Hibernate学习笔记_helloworld
    junit4初级
    Struts学习笔记_声明式异常处理
    Struts学习笔记_拦截器
  • 原文地址:https://www.cnblogs.com/grglym/p/8080724.html
Copyright © 2011-2022 走看看