zoukankan      html  css  js  c++  java
  • GDB调试qemu源码纪录

    今天介绍下如何利用gdb调试qemu

    1、首先获取qemu源码

    获取地址:https://www.qemu.org/

    2、编译安装qemu 

    进入qemu目录 ./configure --enable-debug

    make

    make install

    安装之后一般会在/usr/local/bin目录下生成各种可执行文件,其中我们要调试的是qemu-system-x86_64(当然根据实际情况可能略有差异)

    3、安装虚拟机

    比如:

    qemu-img create ubuntu.12.04.qcow2  -f qcow2 8G

    qemu-system-x86_64 -m 512 -enable-kvm ubuntu12.04.qcow2 ubuntu.iso

    之后会跳出一个窗口显示安装进度

    4、调试虚拟机

    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 修改运行时候的变量值

    以马内利

  • 相关阅读:
    Node.js:events事件模块
    Node.js:console模块
    Node.js:DNS模块的使用
    CSS3 Notes: -webkit-box-reflect实现倒影
    H5 Notes:PostMessage Cross-Origin Communication
    H5 Notes:Navigator Geolocation
    Notes:SVG(4)基于stroke-dasharray和stroke-dashoffset圆形进度条
    Notes:SVG(3)---滤镜和渐变
    如何写出优美的 C 代码 面向对象的 C
    Source Insight快捷键
  • 原文地址:https://www.cnblogs.com/ck1020/p/7795242.html
Copyright © 2011-2022 走看看