dos下debug程序的原理 自带的那个
------解决方案--------------------------------------------------------
没有什么神奇的,运行中的程序在内存中的实体就是二进制数据。你当然可以通过修改其二进制值来达到修改指令的目的,它的原理相当简单的。当然,用这个简单的原理来实现一个调试器却需要很多的技巧,需要很多的细节水平。也许你经过几年的努力钻研会写一个更为漂亮的调试器。不要花时间去钻研这个调试器,写好代码才是当前最迫切的事情。小学生用汉字写文章,屈原也用汉字写文章,但后者的文章却能照耀中国历史,同样的汉字,后者组合得更巧妙而已。手熟了,思想熟了,你就自然成为大师了。
------解决方案--------------------------------------------------------
DEBUG就是一个应用程序,由DOS操作系统的外壳程序载入内存启动,执行完操作后,输入Q又返回DOS操作系统.
------解决方案--------------------------------------------------------
debug也是一个一般的程序。虽然没有源代码参考,但是可以通过仔细观察debug的打印信息,也可以了解debug的实现。
1)对输入的字符串进行合法性检查(字符串的解析)。
2)debug提供了好多的命令,必然有很多对应的子程序来实现。
3)有些代码是自己写的,有些肯定是调用BIOS。比如t命令,如果CPU不提供单步中断的功能,BIOS不提供相应的接口,debug也就不能实现这样的效果了。
所以,debug也是一个程序,你也可以写一个程序,实现debug的一个简单的功能(比如d命令),那么debug对你就不再神秘了。
------解决方案--------------------------------------------------------
楼上兄弟说的好,学习中
------解决方案--------------------------------------------------------
功能分析透了,就没什么神秘的了
------解决方案--------------------------------------------------------
主要是通过单步中断技术实现的。