设为首页 加入收藏

TOP

采用Eclipse + GDB来搭建调试Qemu源码的环境
2014-11-24 07:40:24 来源: 作者: 【 】 浏览:0
Tags:采用 Eclipse GDB 搭建 调试 Qemu 源码 环境

由于很多同学来信询问如何学习qemu,要看哪些资料,应该怎么入手之类的问题,我每次都回答:看代码。但是qemu的代码也是挺庞大的,如果没有一个好的方法和环境,将是一件非常痛苦的事情。因为qemu的相关资料太少了,并不像linux,有很多源码分析的资料可以对照的看。


对一个陌生的东西,最好的方法是跟踪它,所以,我们可以通过单步调试的方法来分析qemu的代码,下面就介绍一下如何通过eclipse+gdb来搭建qemu源码的调试环境。


在真正开始之前,先给个分析qemu源码的小建议(纯个人经验),注意:同样适用于分析linux代码。


1. qemu源码编译


(1)configure配置选项,根据不同的体系结构和需求进行配置,我的配置如下:


./configure --target-list=i386-softmmu,i386-linux-user --disable-xen --disable-vnc --disable-vnc-png --disable-vnc-jpeg --disable-vnc-sasl --disable-vnc-tls --disable-blobs --disable-bluez --disable-bsd-user --disable-darwin-user --disable-user --disable-vnc-thread


(2)eclipse 项目配置


在eclipse中创建Makefile工程,将configure后的源码拷贝到新建工程中,执行Build,然后就想调试helloworld一样对qemu进行调试了。


2. qemu的Makefile文件分析


从Makefile可以得到如下信息:


Qemu支持系统仿真和用户仿真两种模式,可以简单的作如下理解:


(1)系统仿真,仿真一台完整的pc机,包括cpu,总线,内存,硬盘,外设等,调用i386-softmmu/qemu-system-i386。系统仿真模式包括的所有文件,参见附录A, 从附录A中可以很清晰的知道系统仿真模式由哪些文件编译生成(configure时的配置不同,略有差异),依赖了哪些库(蓝 加粗)等。


(2)用户仿真,仅仅仿真cpu,调用i386-linux-user/qemu-i386命令。用户仿真模式包括的所有文件,参见附录B,可以很清楚的知道用户仿真模式的命令qemu-i386由哪些文件编译生成configure时的配置不同,略有差异),依赖了哪些库(蓝色加粗),需要哪个链接脚本文件等等。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇编译Hadoop-2.0.3的native 下一篇Java操作HDFS文件系统

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Java 并发工具类:提 (2025-12-25 20:25:44)
·Java面试技巧:如何 (2025-12-25 20:25:41)
·Java并发编程中的线 (2025-12-25 20:25:38)
·C 语言 - cppreferen (2025-12-25 19:50:27)
·《C 语言入门教程》 (2025-12-25 19:50:23)