鱼C论坛

 找回密码
 立即注册
查看: 4180|回复: 5

关于debug 的g指令

[复制链接]
发表于 2012-2-5 12:59:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

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

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

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

g指令是不是有什么的特殊的啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-2-5 19:04:15 | 显示全部楼层
各位能帮忙解释下吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-2-5 20:31:01 | 显示全部楼层
我想你说的想直接debug程序吧?在cmd输入debug 程序名.exe,这样就不用定位地址了,因为你写程序的时候,一般是不定义ds地址的...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 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改变了   



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-2-6 09:43:25 | 显示全部楼层
说明: 如果没有指定起始地址,那么当前指令地址由CS,IP寄存器的内容来决定,如果用户指定起始地址就从指定的起始地址开始执行。如果指定断点,当指令到达指令地址时停止执行,并显示各寄存器标志位的内容和下一条要执行的命令,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-2-6 12:34:19 | 显示全部楼层
嗯 嗯  谢谢各位了  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-19 18:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表