583413088 发表于 2012-2-5 12:59:29

关于debug 的g指令

本帖最后由 583413088 于 2012-2-6 12:34 编辑

上次我用debug调试程序是,在刚用debug把程序载入就直接用g指令

提示完成后   我有用D查看了一下ds 下的内容(我调试的程序中,刚开始是设定了一下 ds地址)
但是多少ds的值没变 更别说DS下的内容了

当我用t先调试几部就是把ds的值改了之后 在用g就可以 真正的完成程序了
ds 下的内容就是我想要的 了

g指令是不是有什么的特殊的啊

583413088 发表于 2012-2-5 19:04:15

各位能帮忙解释下吗

Push 发表于 2012-2-5 20:31:01

我想你说的想直接debug程序吧?在cmd输入debug 程序名.exe,这样就不用定位地址了,因为你写程序的时候,一般是不定义ds地址的...

莫名其妙 发表于 2012-2-6 09:23:54

本帖最后由 莫名其妙 于 2012-2-6 09:41 编辑

额 直接用G指令后面什么也不加 应该是直接跳到断点地址处的吧 也就是直接调到INT 21H以后的位置 我也是直接debug **.exe 然后r了下直接按G 就跳到Program terminated normally。 我在R 下 看到程序还是在第一条指令处 程序的IP没有变所以看不见程序有没有改变你用T命令走到程序修改了DS地址以后 在用G命令也是跳到程序正常结束的位置 然后你在R命令 看到的当前Ip位置的数据应该还是你用G命令前的那一段我记得 是先用U命令查看代码然后用G+IP 可以直接跳到IP那一段 估计你在看就可以看到DS改变了   



莫名其妙 发表于 2012-2-6 09:43:25

说明: 如果没有指定起始地址,那么当前指令地址由CS,IP寄存器的内容来决定,如果用户指定起始地址就从指定的起始地址开始执行。如果指定断点,当指令到达指令地址时停止执行,并显示各寄存器标志位的内容和下一条要执行的命令,

583413088 发表于 2012-2-6 12:34:19

嗯 嗯谢谢各位了
页: [1]
查看完整版本: 关于debug 的g指令