【小甲鱼】汇编视频18中的实验3.10中出现的问题
file:///C:/Documents%20and%20Settings/Administrator/桌面/真出问题.png这个程序很简单,但是我在DEBUG中运行的时候,T命令的时候到图片这一步DEBUG就自动退出了,请求各位怎么解决! 本帖最后由 Seely 于 2012-2-3 22:40 编辑8023az 发表于 2012-2-3 21:29 http://bbs.fishc.com/static/image/common/back.gif
就是说SP取值太小?这个单步中断的四步,我怎么不太理解,能解释一下吗?
T 是 debug 的命令,它要实现单步调试就要经过上面的四步,如果是程序自己运行不调试的话则不会这样。
当它执行你的T命令,要干 “2.tf if入栈”,“3.cs ip入栈”的时候,你的栈不够了。
这四步与你的代码无关,是debug的问题。debug要实现单步调试的“T”命令,就必须这么做。
自己先顶顶 唉~人好少,有好心人吗 你的图挂掉了··· 没有图啊 怎么看吧
图在这里,几位大侠 赵璐 发表于 2012-2-1 11:15 static/image/common/back.gif
没有图啊 怎么看吧
图见6楼,大侠 疾风飘流 发表于 2012-1-31 23:51 static/image/common/back.gif
你的图挂掉了···
图见6楼,大侠 找一个安全的内存空间再调试一下看看,正常这样 小军 发表于 2012-2-1 14:59 static/image/common/back.gif
找一个安全的内存空间再调试一下看看,正常这样
您是指CS:IP这个内存吗?那为什么之前debug中我一直用这块内存(而且这是默认的),都没有这种情况呢? 小军 发表于 2012-2-1 14:59 static/image/common/back.gif
找一个安全的内存空间再调试一下看看,正常这样
要不您在您的机子上试试这个简单程序? 本帖最后由 we6540 于 2012-2-1 20:51 编辑
跟我上次的情况样,在DOS系统上运行就没问题了 we6540 发表于 2012-2-1 20:50 static/image/common/back.gif
跟我上次的情况样,在DOS系统上运行就没问题了
恩~那这位大侠知道是什么原因吗? 本帖最后由 疾风飘流 于 2012-2-2 22:17 编辑
亲试,和安全的内存空间没关系,与段寄存器也没有关系,将前后各种等换后,发现应该是SP太小的原因,当sp是6以上时(包括6)就没有问题了,具体原因不知,同望大神赐教。 疾风飘流 发表于 2012-2-2 22:01 static/image/common/back.gif
亲试,和安全的内存空间没关系,与段寄存器也没有关系,将前后各种等换后,发现应该是SP太小的原因,当sp是 ...
谢谢回复,确实是这样子的,不知道当SP<6时,是不是触碰到了不安全区域?我设置的SP=10H,也不知道前面这些数据有什么意义,你看看吧 与debug 的 T 命令本身有关。
debug中的t命令
书上说是用了单步中断的原理
1.取得中断码
2.tf if入栈
3.cs ip入栈
4.响应中断
很明显你堆栈不够用…… 这位同学,您的图呢?没有图怎么看 独立日 发表于 2012-2-3 20:57 static/image/common/back.gif
这位同学,您的图呢?没有图怎么看
这位同学你好,图挂了,放置6楼 Seely 发表于 2012-2-3 18:59 static/image/common/back.gif
与debug 的 T 命令本身有关。
很明显你堆栈不够用……
就是说SP取值太小?这个单步中断的四步,我怎么不太理解,能解释一下吗?
页:
[1]
2