当前位置: 代码迷 >> 汇编语言 >> 哪个调试器可以调试8086的程序而不会修改栈?debug老动小弟我的栈
  详细解决方案

哪个调试器可以调试8086的程序而不会修改栈?debug老动小弟我的栈

热度:7473   发布时间:2013-02-26 00:00:00.0
哪个调试器可以调试8086的程序而不会修改栈?debug老动我的栈
本帖最后由 leigema 于 2012-10-20 17:53:37 编辑 最近在学汇编,用xp自带的debug工具调试的时候,想查看栈中的内容,发现debug修改了栈。但程序运行结果是对的。

但是我想查看炸中的内容,也就不可能了,因为debug动了栈,我看到的都不正确。

debug会修改栈中的内容 见这里http://topic.csdn.net/u/20121018/18/3fce0f68-d774-46e3-857c-88cb22908d09


所以我需要一个不会修改栈内容的调试器,难道没有这样的调试器?
------最佳解决方案--------------------------------------------------------
od softice
------其他解决方案--------------------------------------------------------
修改了。有一个解释不知道对不对,esp被保存到ebp里 所有的函数参数都是通过ebp访问的,只是看了下反汇编没对照过机器码不知道对不对。
------其他解决方案--------------------------------------------------------
bochs.
------其他解决方案--------------------------------------------------------
他改栈和你没什么关系吧?你调试又不需要总盯着stack活着。

简单即是hacker之道
------其他解决方案--------------------------------------------------------
引用:
修改了。有一个解释不知道对不对,esp被保存到ebp里 所有的函数参数都是通过ebp访问的,只是看了下反汇编没对照过机器码不知道对不对。

esp只是一个存返回地址,和参数的内存指针。如果暂时被修改也没有什么关系,只要最后能被恢复就行。
------其他解决方案--------------------------------------------------------
你看stack中的内容没问题,可以用很多方法查看

比如 看调用链,看动态变量,参数,返回地址等。

但你没必要限制debuger对stack的操作
------其他解决方案--------------------------------------------------------
16位的行吗
引用:
od softice

------其他解决方案--------------------------------------------------------
最近调试看栈中的内容
引用:
他改栈和你没什么关系吧?你调试又不需要总盯着stack活着。

简单即是hacker之道
  相关解决方案