主题:大虾:用DEBUG调试时,怎么去看各单元的内容?
wyb0564
[专家分:0] 发布于 2006-03-19 17:25:00
比如说我用DEBUG调试程序,发现前面是地址:
19EE:0000 .......
19EE:0010 .......
.
.
.
19EE:0090 .......
后面都是十六进制数,那么没一个数是什么意思呢?
回复列表 (共2个回复)
沙发
C语言爱好者 [专家分:19410] 发布于 2006-03-19 21:45:00
关于debug的命令,进入debug之后,输入?号就OK了。
比较常用的命令,如r(显示和修改寄存器、标志),e(修改内存),a(输入指令,其实就是修改代码),f(区域填充)
g(设置断点,并运行至断点),p(运行指令,可以设置运行多少条指令),t(追踪,同样可以设置指令的条数)
c(内存比较,显示不同的),m(复制内存数据)
l(从磁盘载入逻辑扇区的内容),w(跟l相反)
i(从某端口输入字节), o(跟i相反)。
命令里面的address,指的是逻辑地址,就是段值加偏移,例如ds:100,段值可以直接使用四位十六进制;而range则是一段地址范围,例如ds:100 120,就是段值为ds,偏移从100到120的范围,还可以使用长度l,例如ds:100 l20,跟ds:100 120同样效果。
程序加载后,ds默认是指向PSP的段值的。
板凳
wyb0564 [专家分:0] 发布于 2006-03-20 15:34:00
谢了啊!
我来回复