Bochs常用调试指令

ubuntu 安装Bochs 最近在看X86汇编语言:从实模式到保护模式这本书,书里面的程序都是在裸机上运行的,需要安装一个Bochs模拟器来运行和调试,安装过程如下: 首先是下载最新版的源码: 地址:http://bochs.sourceforge.net 解压: tar -zxvf bochs-2.6.8.tar.gz 进入目录: cd bochs-2.6.8 安装命令如下: ./configure - 阅读详情
执行命令
 c                           继续执行
 stepi [count]               执行一定count数量的指令, 缺省值为1
 si    [count]               执行一定count数量的指令, 缺省值为1
 step [count]               执行一定count数量的指令, 缺省值为1
 s     [count]               执行一定count数量的指令, 缺省值为1
 Ctrl-C                      停止执行, 返回到命令行方式
 Ctrl-D                      如果命令行有空行,则退出(不知道什么意思)
 quit                        退出
 q                           退出
设置断点
 vbreak seg:off              设置一个虚拟地址断点
 vb     seg:off
 
 lbreak addr                 设置线性地址断点
 lb     addr
 
 pbreak [*] addr             设置物理地址断点
 pb     [*] addr             (*号代表可选的GDB能力)
 break [*] addr
 b      [*] addr
 
 info break                  显示所有断点
 delete n                    删除断点
 del    n
 d      n
操作内存
 x /nuf addr      显示在addr线性内存处的内存数据
 xp /nuf addr      显示在addr物理内存处的内存数据
n                 要显示的数据个数 
u                 显示单元大小; 下面其中之一
b 一字节 
h 2字节 
w 4字节 
g 8字节 
NOTE: 这里的格式和Intel的不一样,但是与GDB转换相一致 
f                 显示格式下面其中之一 
x 使用16进制 
d 使用10进制 
u 使用无符号10进制
o 使用8进制 
t 使用2进制 
n, f, 和 u 都是可选的参数. u 和 f 缺省值为上一次设置的值。如果没有指定
则缺省值为w和x。
n 的缺省值为1。
Addr 也是可选的参数。如果不指定则会自动地指定为下一个地址。
 
 setpmem addr datasize val    设置addr一片大小为datasize的物理内存的值为val
 
 crc addr1 addr2            显示范围从addr1到addr2的校验
 info dirty                   显示从上一次显示到现在为止的脏(被写到的)的物理页
显示的值为最上头的20个字节(页地址)
上面这些我自己看不明白什么意思
 
 
显示信息命令
 info program      程序执行情况可以用info p代替
 info registers    列出cpu的寄存器和寄存器里面的值可以用info r代替
 info break        当前所有断点的信息可以用info b代替
操作 CPU 寄存器
 set $reg = val    设置一个寄存器reg的值为val. 
寄存器可以是:
                      eax, ecx, edx, ebx, esp, ebp, esi, edi.
                    通常不应该修改下列:
                      eflags, cs, ss, ds, es, fs, gs.
 
    例子: set $eax = 0x01234567
              set $edx = 25
 
 info registers    查看寄存器信息
 dump_cpu          查看完整的cpu状态信息
 set_cpu           设置cpu状态
新命令
trace-on
每执行一条指令就显示出相应的反汇编命令,导致异常的指令并不是真正的执行,因此不能被追踪。
trace-off
禁止追踪.
ptime
显示当前时间(从开始模拟到现在为止的tick数量,以2^32为模)
sb delta
插入一个基于时间设置在之后的断点,delta是一个64位的后面有一个L字符的整型数,如1000L。好像是偏移的意思。
sba time
插入一个基于指定时间的断点
record filename
记录控制台输入到文件 filename. 文件由0和许多行”%s %d %x”组成, 第一个词为事件类型, 第二个是时间戳第三个是事件的数据细节
playback filename
从文件filename回放控制台输入. 可以在控制台窗口直接进行额外的输入.
print-stack [num words]
显示堆栈顶端num words个16位的字。只有堆栈段的基地址为0的时候才能可靠的工作在保护模式下。
watch stop
当遇到一个监视点时停下来回到提示命令行方式.
watch continue
碰到监视点时不停止
watch
显示当前监视点的状态.
unwatch
去掉所有监视点.
watch read address
在address地址出加入一个读监视点
watch write address
在address地址处加入一个写监视点.
unwatch read address
从address 地址处去掉一个读监视点.
unwatch write address
从address 地址处去掉一个写监视点 . .
show [string]
 
 触发show信息.
 show – 显示当前的show模式
 show "mode" – 当处理器转换模式时显示
 show "int" – 当中断发生时显示
 show "call" – 当调用发生时显示
 show "ret" – 当iret发生时显示
 show "off" - toggles off symbolic info
 show "dbg-all" – 打开所有的show标记
 show "none" – 关闭所有的show标记
反激开关电源设计全解析:从CCM/DCM原理到PCB布局实战 开关电源作为现代电子设备的能量转换核心,其核心原理是通过高频开关动作实现高效的电能变换。反激拓扑因其结构简单、成本低廉且易于实现电气隔离,成为小功率离线式电源的主流选择。其技术价值在于通过变压器耦合实现能量存储与传递,解决了安全隔离与多路输出等关键需求,广泛应用于充电器、适配器及家电供电等场景。本文聚焦反激电路,深入剖析其CCM与DCM两种工作模式的原理差异及选型考量,并结合伏秒平衡定律与RCD钳位等热词,详解从变压器计算到MOSFET选型的完整工程设计流程。 阅读详情

相关推荐

DVWA全级别详细通关教程

dvwa全级别详细通关教程,暴力破解,命令注入,CSRF跨站请求伪造,文件包含,文件上传​,SQL注入,XSS

m0_62063669的博客 1万+

bochs调试常用命令

文章目录一、跳转单步跳转1、指定步数跳转2、指定跳转位置二、查看1、寄存器查看2、内存查看三、补充四、退出 一、跳转 单步跳转 1、s 遇到循环,则进入 2、n 遇到循环,则跳过 1、指定步数跳转 1、s num 2、指定跳转位置 第一步:b address 设置断点address 第二步:c 持续执行直至遇到断点 二、查看 1、寄存器查看 1、通用寄存器 r reg 2、段寄存器查看 sreg 3、标志寄存器查看 info eflags 2、内存查看 1、线性地址方式 x address 仅查看一个双字的

dc12499574的博客 2552

金融风控实战:用Python从零搭建贷款违约预测模型(附完整数据集)

本文详细介绍了如何使用Python从零构建金融风控中的贷款违约预测模型,涵盖数据清洗、特征工程、模型构建与评估等全流程。通过实战案例展示逻辑回归、XGBoost和LightGBM三大算法的对比,特别强调AUC-ROC指标在金融风控中的重要性,并附完整数据集和代码实现。

weixin_29175469的博客 237

bochs 调试基本指令大全

查看内存物理地址内容 xp /nuf addr xp /40bx 0x9013e。每执行一条指令就打印CPU信息 trace-reg trace-reg on。查看线性地址内容 x /nuf addr x /40bx 0x13e。显示当前所有断点信息 info break info break。显示 CPU 状态信息 info cpu info cpu。单步运行(遇到函数则跳过) n n。显示所有使用的寄存器值 r r。

larance的挨踢生活 1079

c++通过自然语言处理技术分析语音信号音高

其中,缓冲区大小为2048,最小基频为80Hz,最大基频为1000Hz。通常情况下,音高在85Hz到255Hz之间,因此可以根据实际情况修改最小和最大基频值。C++中可以使用数字信号处理库或语音处理库,比如MATLAB、Praat、YIN算法等等来进行音高分析。对于语音信号的音高分析,可以使用基频提取技术。基频是指一个声音周期的重复率,也就是一个声音波形中最长的周期。通常情况下,人的声音基频范围是85Hz到255Hz。这段代码使用了YIN算法来计算语音信号的基频,得出的结果即为音高。

SYC20110120的博客 1727

大模型时代必备技能:3种向量量化技术对比(PQ/AQ/RVQ)与选型指南

本文深入解析了大模型时代处理海量向量数据的关键技术——向量量化。通过对比Product Quantization (PQ)、Additive Quantization (AQ)和Residual Vector Quantization (RVQ)三种主流技术的核心原理、性能表现与适用场景,为工程师提供了从理论到实践的选型指南,旨在解决向量存储与检索的效率瓶颈,助力RAG等大模型应用高效落地。

silver的专栏 796

Bochs调试之查看内存

x /nuf [addr] 显示线性地址的内容 xp /nuf [addr] 显示物理地址的内容 n 显示的单元数 u 每个显示单元的大小 f 显示格式

Firas的专栏 7871

TensorRT(C++)部署 Pytorch模型

众所周知,python训练pytorch模型得到.pt模型。但在实际项目应用中,特别是嵌入式端部署时,受限于语言、硬件算力等因素,往往需要优化部署,而tensorRT是最常用的一种方式。本文以yolov5的部署为例,说明模型部署在x86架构上的电脑端的流程。(部署在Arm架构的嵌入式端的流程类似)。

女神sha手的博客 5404

bochs虚拟机调试命令大全

操作系统开发必备工具bochs调试命令大全

yaoyuantao的博客 4659

OPPO 后端校招面试,过于简单了!

你好,我是 Guide。2026 届秋招陆续开奖公司的越来越多了,今天来看一家手机厂 OPPO。前几天,已经分享了和今年校招开奖的情况。其中,小红书的薪资最为炸裂,大白菜一年都能给到 51w+。不过,相对应的工作强度和压力也是真的难顶,确实很难有钱多又轻松的活!OV (OPPO 和 Vivo)这几年发展真还可以的,这两家的高端机口碑都不错。本人也是最近入手了一款 Vivo 的上一代旗舰,拍照是真的不错啊!每个月会有 1.2k 生活补贴,生活费是按照 8 % 缴纳。

JavaGuide 749

UG\NX二次开发 获取对象的层、颜色、隐藏状态、线宽、线型、高亮显示状态

获取对象的层、颜色、隐藏状态、线宽、线型、高亮显示状态。

王牌飞行员_里海的博客 1980

Bochs 调试命令笔记

lb|lbreak if "expression":当条件为真时,在线性地址的指令处设置中断。pb if "expression":当条件为真时,在物理地址的指令处设置中断点。(3)set $cpu = :在模拟SMP时,将Debugger控制的cpu设置为cpu。(1)set = :设置寄存器的值为‘expr’。3、pb|pbreak|b|break :在物理地址的指令处设置中断点。

erhisme的专栏 943

工业视觉降本300%实战:C# + 开源YOLO如何干掉Halcon/VisionPro?

在当前制造业普遍追求“降本增效”的大背景下,工业视觉检测系统作为产线的眼睛,其成本问题日益突出。通过该方案,我们成功帮助一家电子厂将单条产线的视觉检测成本从15万降低至不足5千(主要为工控机硬件成本),降本幅度超过95%,且系统稳定性经受住了6个月连续生产的考验。:C#负责“工程化”和“业务逻辑”,YOLO负责“智能算法”,二者结合,完美覆盖了工业视觉从算法到落地的全链路。的组合,构建一套高性能、低成本、易维护的工业视觉解决方案,并彻底替代昂贵的付费库。” 这是一个典型的误区。工业相机/USB相机。

2601_94871597的博客 428

bochs调试最常用的指令

这个表格中的指令是目前我们进行bochs调试最常用的指令: Table 1. 部分Bochs调试指令 行为 指令 举例 在某物理地址设置断点 b addr b 0x30400 显示当前所有断点信息 info break info break 继续执行,直到遇

xueli1991的博客 776

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Bochs常用调试指令翻译

执行命令  c                           继续执行  stepi [count]               执行一定count数量的指令, 缺省值为1 si    [count]               执行一定count数量的指令, 缺省值为1

魔芋的专栏 2313

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Bochs 调试方法

bochs的一般用法 bochs 是一个开源x86虚拟机软件。在它的实现中定义了各种数据结构来模拟硬件,用软件模拟硬件缺点是速度比较慢,毕竟全是软件来模拟。优点是可移植性强,原则上只要gcc支持某个平台,这个平台上就可以有bochs,从而保证了bochs在各平台上的畅通无阻。由于它是虚拟机,所以支持硬件级别上的调试。 ...

Komorebi-的博客 1004

bochs调试方法

Bochs 调试指令 在某物理地址设置断点 b addr 继续执行,直至遇到断点 c 例如: 单步执行 s 查看内存物理地址内容 xp addr 反汇编一段内存 u start end 查看寄存器或者gdt表 ...

HIT_zhanmusi的博客 297

Bochs常用调试命令

汇编xpc Bochs常用调试命令 Bochs是非常好用的模拟器,命令也很多,不过最常用的其实总结起来也就包括几条,记住这些命令基本都可以满足调试需求了。 1. 断点操作 (1)设置断点:b 物理地址        例:b 0x7c00 在物理地址0x7c00处设置断点 (2)查询目前已经设置过的断点:info break     2. 程序的执行 (1)执行程序,直到遇到

dongsheng186的专栏 464

利用bochs调试linux 0.11内核

 引导程序调试软件bochs,跟配套的linux0.11内核img下载地址分别是:http://sourceforge.net/projects/bochs/http://www.oldlinux.org/Linux.old/bochs/linux-0.11-devel-040329.zip 调试环境的的建立       下载linux-0.11-devel-040329.zi

eqxu的专栏 3282

利用bochs调试Linux 0.11内核

引导程序调试软件bochs,跟配套的linux0.11内核img下载地址分别是: http://sourceforge.net/projects/bochs/http://www.oldlinux.org/Linux.old/bochs/linux-0.11-devel-040329.zip 调试环境的的建立 下载linux-0.11-devel-040329.zip,解压缩 其中包含一个boc...

stupidmule的博客 329

在bochs下运行调试下载好的linux0.11内核image

引导程序调试软件bochs,跟配套的linux0.11内核img下载地址分别是: http://sourceforge.net/projects/bochs/ http://www.oldlinux.org/Linux.old/bochs/linux-0.11-devel-040329.zip 调试环境的的建立 下载linux-0.11-devel-040329.zip,解压缩

计算机的自我意识 1369

bochs调试方法与指令详解

为什么80%的码农都做不了架构师?>>> ...

weixin_34252686的博客 802

BOCHS 调式命令大全

[执行控制] c|cont 向下执行,相当于WinDBG的“g”。 s|step|stepi [count] 单步执行,相当于WinDBG的“t”,count 默认为 1。 p|n|next 单步执行,类似于WinDBG的“p”。 q|quit|exit 退出调试,同时关闭虚拟机。 Ctrl-C 结束执行状态,返回调试器提示符。 Ctrl-D...

wyyy2088511的博客 1644

操作系统制作第一弹:环境配置

本文是环境配置,采用的centos7和bochs2.8进行模拟硬件环境,创建了一个软盘用于存储文件

qq_43419761的博客 1313
上一篇: ubuntu[linux]下find命令的具体应用
下一篇: 全面剖析《自己动手写操作系统》的pmtest1.asm
charcy
博客等级 码龄17年 76粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值