首页
学习
活动
专区
工具
TVP
发布
您找到你想要的搜索结果了吗?
是的
没有找到

在学习操作系统开发中选bochs还是qemu

最近有同学问我:为什么你的《从0写x86 Linux操作系统课程》选择了bochs,而不是qemu?他认为bochs更加好用,很多资料上都写了用该软件。...能够运行各种不同的操作系统,如DOS、Windows、Linux、BSD等。还支持许多外部设备,如键盘、鼠标、串口、并口等。此外,Bochs还支持多种调试方式,如断点、单步执行、内存监视等。...支持平台 Bochs可以运行在多种操作系统平台上,包括Windows、Linux、macOS等,可以模拟各种不同的操作系统。但是在有些平台上,可能需要重新编译源码才能获得可执行的程序。...在实际使用了这两款软件后,我发现qemu更加方便,官方直接提供了针对win/linux/mac的安装包,而bochs针对有的平台提供,有的却要自己重新编译源码,非常的麻烦。...当然,Bochs也支持GDB调试,但是需要重新编译源码生成带GDB支持的bochs,非常麻烦。而且在GDB模式下,内置的调试命令将无法使用。

92130

如何调试操作系统源码

开源虚拟机 bochs调试功能 我们最为希望得到的是一个具备断点调试以及随时查看、关注变量或寄存器的值的功能的调试工具。...开源的虚拟机 bochs 就具备这些强大的调试功能: http://bochs.sourceforge.net/ 3.1. bochs 的安装 你可以通过源码编译安装,也可以通过包管理工具进行安装,如果你通过包管理工具安装...启动 bochs 3.3.1. unix 环境 在 linux 或 mac 环境下,执行下面的命令就可以启动 bochs 了: bochs -f bochsrc bochsrc 是我们上面编写的配置文件...4. bochs 调试指令 bochs 和我们熟悉的 gdb 界面非常像,可以通过命令进行系统的调试工作。 输入 help 可以看到支持的调试命令。 4.1....这就需要使用 Linux 中的 loop 设备,类似于 Windows 的虚拟光驱。

1.6K10

双机调试Linux内核

利用KGDB双机调试内核 1.1. 环境 1.2. 配置内核编译环境 2. 参考 双机调试Linux内核环境配置。...利用KGDB双机调试内核 环境 centos 7 VMware 全程使用root用户 配置内核编译环境 这种方式调试内核需要两台机器,一台用来运行Linux内核,另一台对内核进行调试。...可以开两个Linux系统的虚拟机;也可以在物理机系统是linux上面装虚拟机,然后虚拟机运行一个linux;再就是买开发板来调试内核。以下是在windows上开两个虚拟机的流程描述。...在https://www.kernel.org/ 下载想调试版本的内核代码(可以下载tarball格式)。...(我测试ttyS0不行,改成ttyS1可以了) 参考 http://blog.nsfocus.net/gdb-kgdb-debug-application/ 在VMware中用Kgdb调试linux内核

4.4K30

VScode调试Linux详解

Linux上通常使用gdb命令行调试,但该方式调试不太直观,且命令行长时间不用,容易忘记,不如GUI直观和容易上手,下面介绍基于GUI的方式调试Linux。...一.Linux调试GUI方案简介 1)    Visual studio 远程调试Linux      在VS2015版本以后Visual studio就支持Linux的编译和调试。...使用熟悉的windows界面开发和调试Linux,极大的提高了开发效率,可以广泛应用的Linux服务器开发和嵌入式Linux开发。 ...2)    基于eclipse 本地调试Linux          因为eclipse是跨平台的,安装一个带GUI的linux系统,就可以像VS一样开发和调试Linux 3)  基于QtCreator...本地调试Linux         因为QtCreator是跨平台的,安装一个带GUI的linux系统,就可以像VS一样开发和调试 4)    基于eclipse 远程调试Linux

3.5K30

基于unicorn-engine的虚拟机的实现(WxSpectre)

Bochs是纯粹的软件模拟器,另外加上对硬件的模拟,所以其指令执行速度是非常慢的。Unicorn-engine基于动态翻译技术,速度相对于纯粹的指令模拟快的多....所以如果关心系统仿真度当然选择virtualbox,bochs,但是virtualbox会耗费更多的系统资源。 Unicorn-engine可以虚拟执行x86,x64,arm等指令集。...WxSpectre可以跨平台在windows,linux,Mac os,下运行,可以虚拟执行EXE/VBS脚本。...5.WxVFS: 指的是虚拟文件系统,有点类似于linux的VFS系统,但是所不同的是这里不是为了实现一个统一的文件系统界面,这里主要是虚拟出文件系统的结构。...3.虚拟调试(virtual debugger) 这个功能是非常有用的。因为通常情况下调试病毒必须在虚拟机里面调试。分析者通常需要反复的还原虚拟机,将样本用调试器加载起来,这样会耗费很多的时间。

2.2K71
领券