内存读写断点的实现,是把相关内存页属性设置为PAGE_NOACCESS,这样当此页内内存被读写的时候会有异常传给调试器。
当异常传给调试器时候,debugee进程被挂起,调试器把内存页属性重新修改回去,同时设置一个单步调试断点。这样debugee进程才可以正常执行过去,否则会一直被挂起。因为被设置了单步调试断点,所以执行一个指令就再次挂起,交给调试器去处理。
这时候调试器把页面属性重新修改为PAGE_NOACCESS就可以了。

相关文章:

  • 2021-12-07
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-01-15
  • 2022-02-08
  • 2021-09-22
  • 2021-07-10
  • 2022-01-13
  • 2022-12-23
相关资源
相似解决方案