断点的实现(300)(300分)

  • 主题发起人 主题发起人 DDK
  • 开始时间 开始时间
D

DDK

Unregistered / Unconfirmed
GUEST, unregistred user!
调试器中的断点是如何实现的????<br>有代码最好
 
看看GDB中怎么设断点的。另外北大出的UNIX系统设计这本书讲的比较清楚。
 
在DOS下的知道一些。两种办法<br>1.在相应的断点插入一条int3。<br>2.386以后的cpu支持调试寄存器。dr0,dr1,dr2,dr3是四个断点寄存器。你把断点的<br>线性地址设进去,然后设置dr6,dr7的相应位就可以了.我用这种方式解过好多DOS软件
 
强烈关注!
 
多谢楼上的大虾[:)],不知这本书网上哪里有?有没有在WIN32下的实现?我在INTEL的IA结构的三个PDF看到了断点的设置,可是我用GetThreadContext和SetThreadContext<br>设置之后,根本就不理我!
 
http://www.usenix.org/events/usenix-win2000/full_papers/wallach/wallach_html/index.html<br>还可以,有点服了外国人
 
多人接受答案了。
 
后退
顶部