DEBUG

启动DEBUG的一般命令如下:

DEBUG  文件名 [参数表]

其中:文件名指定被调试的文件,其包括名和后缀,参数表是被调试文件运行时所需要的参数。

被调试的文件可以是系统中的任何文件,但通常它们的后缀为EXE或COM。当DEBUG启动成功后,将显示连接符“-”,这时,可输入各种命令。

表1 DEBUG中标志位的符号表示

标志名称 溢出OF 方向DF 中断IF 负号SF 零ZF 辅助进位AF 奇偶PF 进位CF
置位状态 OV DN EI NG ZR AC PE CY
复位状态 NV UP DI PL NZ NA PO NC

表2 DEBUG命令及其含义

 命令格式 功能说明
A [地址] 输入汇编指令
C [范围]  起始地址 对由“范围”指定的区域与“起始地址”指定的同大小区域进行比较,显示不相同的单元
D [范围] 显示指定范围内的内存单元内容
E 地址  字节值表 用值表中的值替换从“地址”开始的内存单元内容
F 范围  字节值表 用指定的字节值表来填充内存区域
G [=起始地址]  [断点地址] 从起点(或当前地点)开始执行,到终点结束
H 数值1  数值2 显示二个十六进制数值之和、差
I 端口地址 从端口输入
L [地址 [驱动器号 扇区 扇区数]] 从磁盘读
M 范围  地址 把“范围”内的字节值传送到从“地址”开始的单元
N 文件标识符 [文件标识符…] 指定文件名,为读/写文件做准备
O 端口地址  字节值 向端口输出
P [=地址]  [指令数] 按执行过程,但不进入子程序调用或软中断
Q 退出DEBUG,不保存正在调试的文件
R [寄存器名] 显示和修改寄存器内容
S 范围  字节值表 在内存区域内搜索指定的字节值表。如果找到,显示起始地址,否则,什么也不显示
T [=地址]  [指令数] 跟踪执行,从起点(或当前地点)执行若干条指令
U [范围] 反汇编,显示机器码所对应的汇编指令
W [地址 [驱动器号  扇区 扇区数]] 向磁盘写内容,(BX、CX)为写入字节数

关于参数的几点说明:

1、进制:在DEBUG中输入或显示的数据都是十六进制形式;

2、分隔:命令和参数、参数和参数之间要用空格、逗号或制表符等分隔;

3、地址:用“段值:偏移量”的形式来表示地址,也可用段寄存器来代表“段值”;例如:1000:0,ds:10,cs:30等;

4、范围:用来表示地址范围,从哪个地址开始,到哪个地址结束。它有二种表示方式:

地址 地址——前者表示起始地址,要用“段值:偏移量”来表达,后者表示终止地址,只用“偏移量”来表示;

地址 长度——前者表示起始地址,要用“段值:偏移量”来表达,后者表示该区域的大小,用字母’L’开头的数值来表示

例如:100:50 100——段值为100,偏移量从50到100的内存区域,
100:50 L100——段值为100,偏移量从50开始的100个字节区域。

5、端口地址:二位十六进制数值

6、字节值:二位十六进制数值

7、字节值表:由若干个字节值组成,也可以是用引号括起来的字符串

8、驱动器号:0—驱动器A、1—驱动器B、2—驱动器C、3—驱动器D等

关于使用命令的几点说明:

在DEBUG中的提示符“-”下才能输入命令,在按“回车”键后,该命令才开始执行
命令是单个字母,命令和参数的大小写可混合输入
可用F1、F2、F3、Ins、Del和光标移动键等来编辑本行命令
当命令出现语法错误时,将在出错位置显示“^ Error”
可用^C或^Break来终止当前命令的执行,还可用^S来暂停屏幕显示(当连续不断地显示信息时)

例2.1 启动DEBUG,并装入test.exe文件(假设该文件已存在)。

解: 方法1: 方法2:
…/>debug test.exe …/>debug
-n test.exe
-l

例2.2 比较以DS为段值,偏移量从10到50的内存区域与从地址100:20开始的内存区域。
解:-C DS:10 50 100:20  或  -C DS:10 L41 100:20

例2.3 显示以DS为段值,偏移量从10到50内存区域的单元内容,然后用’abc’来填充它。
解:-D DS:10 50  或  -D DS:10 L41
  -F DS:10 50 'abc'

例2.4 显示十六进制1234与3421之和、差。
解:-H 1234 4321

例2.5 把数据段区域DS:0-40内的内容传送给从附加段ES:10开始的内存中。
解:-M DS:0 40 ES:10

例2.6 在数据段区域DS:0-40内查找是否有字符串'CIH'。
解:-S DS:0 40 'CIH'

调试工具-DEBUG相关推荐

  1. 汇编语言入门--调试工具debug的使用(史上最全,11种常见命令)

    汇编语言入门–调试工具debug的使用(史上最全,11种常见命令) 1.直接启动debug程序 详见:https://bingshuai.blog.csdn.net/article/details/1 ...

  2. 调试工具DEBUG的使用(8086)

    有关CPU和存储单元的概念在前一节我们已经了解,那么如何观察实际机器内部的情况呢?能不能看到具体的寄存器.标志.存储单元的内容呢?可不可以修改和控制它们呢? DEBUG这个有力工具,就可以深入到机器内 ...

  3. 汇编语言学习-Dos下的调试工具debug的使用教程

    本博文系列参考自<<汇编语言>>第三版,作者:王爽 Dubug是dos,windows下提供的调试工具,使用该工具,可以查看和修改寄存器,内存的内容.同时可以在机器码级别跟踪程 ...

  4. Jmeter调试工具---Debug Sampler

    使用场景:脚本开发是,调试用(正式测试时需删除),Debug Sampler会把我们自定义的变量输出在response data中 使用设置:JMeter properties和System prop ...

  5. Jmeter(7)调试工具---HTTP Mirror Server

    之前我介绍过Jmeter的一种调试工具Debug Sampler,它可以输出Jmeter的变量.属性甚至是系统属性而不用发送真实的请求到服务器.既然这样,那么HTTP Mirror Server又是做 ...

  6. (十一)Jmeter另一种调试工具 HTTP Mirror Server

    之前我介绍过Jmeter的一种调试工具Debug Sampler,它可以输出Jmeter的变量.属性甚至是系统属性而不用发送真实的请求到服务器.既然这样,那么HTTP Mirror Server又是做 ...

  7. DOSBox编译汇编程序(debug、MASM)

    学习王爽<汇编语言>时,书中使用的是Debug.exe和Masm5.0进行实验.由于大家的电脑大多使用的是64位的操作系统,不能在系统自带的MS-DOS环境下编写汇编源程序,而每次都开虚拟 ...

  8. 汇编语言ch2_2 汇编语言中的debug

    使用debug 可以完成以下功能: 可以查看 和改变 CPU 中,寄存器的内容: 可以查看 和改变内存中的内容: 可以将内存中的 机器指令 翻译成汇编指令 使用汇编指令 在 内存中 存入 机器指令 执 ...

  9. Flutter调试技巧总结——高效开发的秘密

    刚开始学前端的时候看到大家都是用的console.log()作为调试的手段,也可以说,很多人只会用console.log().在学习Flutter开发app的时候,我就在思考,除了使用print()来 ...

  10. Jmeter教程索引贴

    新的一年即将到来,不知不觉2015年自己在Jmeter方面总结的文章有十几篇,在此汇总一下,顺便也算是个总结吧.2016年,继续学习技术,总结,写文章. 一.基础部分: 使用Jmeter进行http接 ...

最新文章

  1. 微信JS SDK Demo
  2. JS中获得窗口属性的方法
  3. VTK:隐式函数之ImplicitSphere1
  4. 计算机控制炉温实验,计算机控制(炉温控制)实验报告-20210412070439.docx-原创力文档...
  5. SAP License:结算金额大于可支配金额问题应对
  6. 将gitee远程仓库抓取(克隆)到本地仓库
  7. C#服务启动以及服务指令
  8. 解决:git push error: failed to push some refs to
  9. Redis中的lru算法实现
  10. 酷Q萌萌机器人_GitHub - Titvt/CQRobot: 酷Q机器人——麦萌萌小管家
  11. HTML美化页面(下)
  12. 《货币简史》书中的精髓:货币产生的起源是什么?货币又是如何发展起来的?
  13. 扫码枪连接mysql教学_Android PDA扫描枪广播接搜条码并使用
  14. Socket编程面试题
  15. html个人所得税计算器,个税计算器2021 - 个人所得税计算器2021 -
  16. 2022年G2电站锅炉司炉考试题库及模拟考试
  17. iOS 真机调试出现”A signed resource has been added modified or deleted“错误的解决办法
  18. tof 相机的数据读取,depth data和amplitude data以及3D数据
  19. “INNER JOIN”和“OUTER JOIN”有什么区别?
  20. DD-WRT 最新版!V24 SP2

热门文章

  1. Selenium基础 — 多窗口操作
  2. C#数据库四种执行方法(ExecuteNonQuery)
  3. 【系统分析师之路】系统分析师下午案例模拟题(2021版)
  4. BroadcastReceiver使用之一(常驻BroadcastReceiver接收短信)
  5. 操作系统实验二进程的创建控制实验(含代码及实验心得)
  6. CentOS 8 上配置 FTP 服务器详细步骤,附截图
  7. 从中石油辞职好后悔_从石油到移动互联网
  8. 【详细搭建教程】在线客服系统源码3.0防黑版,即时聊天通讯源码 带机器人,防注入 无后门
  9. 单龙芯3A3000-7A1000PMON研究学习-(16)撸起袖子干-分析代码前的准备工作3-寄存器
  10. 牛客网暑期ACM多校训练营(第二场)A .run