调试工具-DEBUG
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的内存区域, |
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相关推荐
- 汇编语言入门--调试工具debug的使用(史上最全,11种常见命令)
汇编语言入门–调试工具debug的使用(史上最全,11种常见命令) 1.直接启动debug程序 详见:https://bingshuai.blog.csdn.net/article/details/1 ...
- 调试工具DEBUG的使用(8086)
有关CPU和存储单元的概念在前一节我们已经了解,那么如何观察实际机器内部的情况呢?能不能看到具体的寄存器.标志.存储单元的内容呢?可不可以修改和控制它们呢? DEBUG这个有力工具,就可以深入到机器内 ...
- 汇编语言学习-Dos下的调试工具debug的使用教程
本博文系列参考自<<汇编语言>>第三版,作者:王爽 Dubug是dos,windows下提供的调试工具,使用该工具,可以查看和修改寄存器,内存的内容.同时可以在机器码级别跟踪程 ...
- Jmeter调试工具---Debug Sampler
使用场景:脚本开发是,调试用(正式测试时需删除),Debug Sampler会把我们自定义的变量输出在response data中 使用设置:JMeter properties和System prop ...
- Jmeter(7)调试工具---HTTP Mirror Server
之前我介绍过Jmeter的一种调试工具Debug Sampler,它可以输出Jmeter的变量.属性甚至是系统属性而不用发送真实的请求到服务器.既然这样,那么HTTP Mirror Server又是做 ...
- (十一)Jmeter另一种调试工具 HTTP Mirror Server
之前我介绍过Jmeter的一种调试工具Debug Sampler,它可以输出Jmeter的变量.属性甚至是系统属性而不用发送真实的请求到服务器.既然这样,那么HTTP Mirror Server又是做 ...
- DOSBox编译汇编程序(debug、MASM)
学习王爽<汇编语言>时,书中使用的是Debug.exe和Masm5.0进行实验.由于大家的电脑大多使用的是64位的操作系统,不能在系统自带的MS-DOS环境下编写汇编源程序,而每次都开虚拟 ...
- 汇编语言ch2_2 汇编语言中的debug
使用debug 可以完成以下功能: 可以查看 和改变 CPU 中,寄存器的内容: 可以查看 和改变内存中的内容: 可以将内存中的 机器指令 翻译成汇编指令 使用汇编指令 在 内存中 存入 机器指令 执 ...
- Flutter调试技巧总结——高效开发的秘密
刚开始学前端的时候看到大家都是用的console.log()作为调试的手段,也可以说,很多人只会用console.log().在学习Flutter开发app的时候,我就在思考,除了使用print()来 ...
- Jmeter教程索引贴
新的一年即将到来,不知不觉2015年自己在Jmeter方面总结的文章有十几篇,在此汇总一下,顺便也算是个总结吧.2016年,继续学习技术,总结,写文章. 一.基础部分: 使用Jmeter进行http接 ...
最新文章
- 微信JS SDK Demo
- JS中获得窗口属性的方法
- VTK:隐式函数之ImplicitSphere1
- 计算机控制炉温实验,计算机控制(炉温控制)实验报告-20210412070439.docx-原创力文档...
- SAP License:结算金额大于可支配金额问题应对
- 将gitee远程仓库抓取(克隆)到本地仓库
- C#服务启动以及服务指令
- 解决:git push error: failed to push some refs to
- Redis中的lru算法实现
- 酷Q萌萌机器人_GitHub - Titvt/CQRobot: 酷Q机器人——麦萌萌小管家
- HTML美化页面(下)
- 《货币简史》书中的精髓:货币产生的起源是什么?货币又是如何发展起来的?
- 扫码枪连接mysql教学_Android PDA扫描枪广播接搜条码并使用
- Socket编程面试题
- html个人所得税计算器,个税计算器2021 - 个人所得税计算器2021 -
- 2022年G2电站锅炉司炉考试题库及模拟考试
- iOS 真机调试出现”A signed resource has been added modified or deleted“错误的解决办法
- tof 相机的数据读取,depth data和amplitude data以及3D数据
- “INNER JOIN”和“OUTER JOIN”有什么区别?
- DD-WRT 最新版!V24 SP2
热门文章
- Selenium基础 — 多窗口操作
- C#数据库四种执行方法(ExecuteNonQuery)
- 【系统分析师之路】系统分析师下午案例模拟题(2021版)
- BroadcastReceiver使用之一(常驻BroadcastReceiver接收短信)
- 操作系统实验二进程的创建控制实验(含代码及实验心得)
- CentOS 8 上配置 FTP 服务器详细步骤,附截图
- 从中石油辞职好后悔_从石油到移动互联网
- 【详细搭建教程】在线客服系统源码3.0防黑版,即时聊天通讯源码 带机器人,防注入 无后门
- 单龙芯3A3000-7A1000PMON研究学习-(16)撸起袖子干-分析代码前的准备工作3-寄存器
- 牛客网暑期ACM多校训练营(第二场)A .run