debug 常用命令
2009-06-09 06:59
204 查看
1)-r(register) 查看寄存器当前值(debug将程序加载入内存,cx为程序长度,cs当前执行程序段地址,ip当前执行程序偏移地址,ds整个程序所在区的段地址:dos中留出256字节(100H)的psp,所以cs=ds+10)
ex: -r ax
:
//修改寄存器值
2)-d(dump)查看内存内容 段地址:
偏移地址起 [偏移地址末]
ex: -d 1000:0//1000:0~1000:7F从指定内存单元开始共80H=8*16=128个内存单元的内容
-d//默认接着1000:80一直往下看
-d 0fff:10 10//同-d 0100:f000 f000, 都表示了10000H这个物理地址的内存内容
3)-e(enter)改写内存内容 起始地址
数据 数据, e与a相对应,a为写好认的汇编语句
ex:-e 1000:0 0 1 2
3
-d 1000:0 f//查看修改情况
-e 1000:0//enter
://输入改写数据,空格,下一个,enter退出
-e
1000:0 ‘a’ ‘b’’c’//可写入字符
-d 1000:0 2//61,62,63
写机器码与a对应
机器码
对应的汇编指令
b80100
mov ax, 0001
b90200
mov cx, 0002
01c8
add ax, cx
ex: -e 1000:0 b8
01 00 b9 02 00 01 c8
-d 1000:0 1f//查看内容 1000:0000~1000:0020
-u 1000:0//
1000:0000 b80100
mov ax,
0001
1000:0003 b90200
mov cx,
0002
1000:0006 01c8
add ax, cx
-r//查看cs ip状态
-r cs
cs XXXX//cs当前是某个值
:1000//修改为1000
-r ip
ip XXXX//ip 当前是某个值
:0//修改为0,把当前命令指向刚写入的1000:0中的命令
-r
-t//执行1条命令,此时ax=0001, ip=ip+3(因为mov ax, 0001指令长度为3,
cs:ip指向下一条指令) ,往下-t类推
4)-u(unassemble)将内存中的机器指令翻译成汇编指令
分3部分, 每一条机器指令的地址、机器指令、机器指令所对应的汇编指令
5)-t(trace)执行一条机器指令
6)-a(address)以汇编指令的格式在内存中写入一条机器指令,debug把键入的数字默认为十六进制,要键入十进制则后加D,入100D
e命令写入机器指令不方便, a直接以汇编形式写入机器指令
-a
1000:0000 mov ax,1
1000:0003 mov bx,2
1000:000f//enter结束
9)-p 执行int 21, 显示‘Program
terminated normally’,返回到debug中,表示程序正常结束
-q退出debug
ex: -r ax
:
//修改寄存器值
2)-d(dump)查看内存内容 段地址:
偏移地址起 [偏移地址末]
ex: -d 1000:0//1000:0~1000:7F从指定内存单元开始共80H=8*16=128个内存单元的内容
-d//默认接着1000:80一直往下看
-d 0fff:10 10//同-d 0100:f000 f000, 都表示了10000H这个物理地址的内存内容
3)-e(enter)改写内存内容 起始地址
数据 数据, e与a相对应,a为写好认的汇编语句
ex:-e 1000:0 0 1 2
3
-d 1000:0 f//查看修改情况
-e 1000:0//enter
://输入改写数据,空格,下一个,enter退出
-e
1000:0 ‘a’ ‘b’’c’//可写入字符
-d 1000:0 2//61,62,63
写机器码与a对应
机器码
对应的汇编指令
b80100
mov ax, 0001
b90200
mov cx, 0002
01c8
add ax, cx
ex: -e 1000:0 b8
01 00 b9 02 00 01 c8
-d 1000:0 1f//查看内容 1000:0000~1000:0020
-u 1000:0//
1000:0000 b80100
mov ax,
0001
1000:0003 b90200
mov cx,
0002
1000:0006 01c8
add ax, cx
-r//查看cs ip状态
-r cs
cs XXXX//cs当前是某个值
:1000//修改为1000
-r ip
ip XXXX//ip 当前是某个值
:0//修改为0,把当前命令指向刚写入的1000:0中的命令
-r
-t//执行1条命令,此时ax=0001, ip=ip+3(因为mov ax, 0001指令长度为3,
cs:ip指向下一条指令) ,往下-t类推
4)-u(unassemble)将内存中的机器指令翻译成汇编指令
分3部分, 每一条机器指令的地址、机器指令、机器指令所对应的汇编指令
5)-t(trace)执行一条机器指令
6)-a(address)以汇编指令的格式在内存中写入一条机器指令,debug把键入的数字默认为十六进制,要键入十进制则后加D,入100D
e命令写入机器指令不方便, a直接以汇编形式写入机器指令
-a
1000:0000 mov ax,1
1000:0003 mov bx,2
1000:000f//enter结束
9)-p 执行int 21, 显示‘Program
terminated normally’,返回到debug中,表示程序正常结束
-q退出debug
相关文章推荐
- debug常用命令解析
- XenServer常用Debug问题的命令介绍
- WinDbg常用命令For Kernel Debug
- 汇编语言(四) debug 常用命令
- DEBUG常用命令
- win7下debug的常用命令
- Linux gdb debug 常用命令
- 【80x86汇编】Debug.exe程序常用命令
- XenServer常用Debug问题的命令介绍!很好很强大!
- xcode 调试时 Debug 常用命令
- debug常用的命令
- 汇编debug常用命令
- [学习笔记]Debug下的常用命令
- debug常用命令--只总结最常用的,简单明了【原创】
- debug常用命令小结
- debug常用命令
- Dynamics CRM 2011 表单Debug常用命令
- debug中常用命令 -- ZendStudio
- debug常用命令介绍(学习汇编)
- 汇编语言debug常用调试 命令详解