问题描述
vc++如何监控某一内存地址的数据发生变化,不能添加数据断点(因为是多线程程序 ),有没有动态添加数据断点的方法,或者那种回掉的 方法
var reg = /]+src[=\"\'\s]+([^\"\']*)[\"\']?[\s\S]*/i;
var str = "";
str.replace(reg,"$1");
你是要在进程内监控还是在进程外监控?
据我所知,windows好像没有对内存的挂钩,除非你自己用int 3中断实现一个调试器,但是我感觉很麻烦。
一个不是十分严格的办法是轮询,也就是不断读取一个内存,和之前的比较,缺点是效率会比较低一些,这是大部分游戏修改器的做法。
如果是进程内,你可以把读写内存的用宏包装下,改写内存的话,调用你的处理程序(用宏的话,你可以在release版本里去掉,以提高性能)