zoukankan      html  css  js  c++  java
  • 调试环境的搭建

    在Hello DTOS中,使用汇编语言直接基于x86架构的硬件完成了第一个主引导程序,实在是大功一件。
    Hello DTOS博客中,存在着这样一个问题:在开发的过程中没有任何可用的调试环境,当主引导程序越来越复杂时,出现bug根本没法调试。
    本篇博客就来搭建高效可用的调试环境

    调试环境搭建(上)
    问题:如何调试主引导区的代码?
    Bochs(另一款优秀的虚拟机软件)
    -专业模拟x86架构的虚拟机
    -开源且高度可移植,由C++编写完成
    -支持操作系统开发过程中的中断调试
    -通过简单配置就能运行绝大数主流的操作系统

    支持调试功能的Bochs版本
    1. 下载源码:https://sourceforge.net/projects/bochs/files/
    2. 解压缩bochs-2.x.x.tar.gz->bochs-2.x.x
    3. 进入源码目录:cd bochs-2.x.x
    4. ./configure --enable-debugger --enable-disasm
    5. make
    6. sudo make install

    安装完成bochs后,直接运行bochs,会出现崩溃,为什么?

    调试环境搭建(中)

    -确定bochs的安装路径(which bochs)
    -安装vgabios(apt-get install vgabios)
    -确定vgabios的安装路径(whereis vgabios)

    Bochs想要运行必须经过配置,所以说必须准备一个配置好的启动文件。有了启动文件,Bochs就知道如何运行具体的操作系统了。

     

     当上面这些关键值设置好了以后,就可以通过启动文件来将bochs成功的启动起来了。

    启动bochs虚拟机
    -显示方式:bochs -f bochsrc_file(启动文件的名字)
    -隐式方式:bochs
          .bochsrc 首先在当前目录下查找有没有bochsrc文件,如果有就以bochsrc作为启动文件,否则以第二种方式启动。怎么感觉与                                     第一种一样
          bochsrc 如果有就以bochsrc作为启动文件,否则就以bochsrc.txt作为启动文件
          bochsrc.txt

    配置好了之后,再次运行bochs就不会出现问题了。然后再运行continue,就会出现hello DTOS了。
    调试环境搭建(下)

    已经操作系统的搭建环境调试好了,接下来应该干什么呢?
    使用这个高端大气上档次的调试环境,和使用gdb调试差不多。下面是Bochs中的常用调试命令

     小结:

    Bochs是一款专业模拟x86架构的虚拟机
    从源码安装Bochs可以获得调试功能的支持
    Bochs的启动配置文件是正确运行关键
    Bochs支持断点调试,其调试命令与GDB类似

     

  • 相关阅读:
    读取美团购
    获取enum的Description
    获取手机号码所在地
    手动添加XA/XD的端口和磁盘映射
    无法使用SQL Server Management Studio的找到Network Server
    [XenDesktop5.5]+HyperV上的Win7+VDA无法启用Aero效果
    傻瓜式设置WANem配置 (点对点网络设置)
    [XD5.5]如何关闭XD的Audio UDP通道
    使用TCP方式登陆OCS
    在Linux上建立文件夹指向在Win共享的文件夹
  • 原文地址:https://www.cnblogs.com/-glb/p/11701363.html
Copyright © 2011-2022 走看看