我注意到有时更改内存时不会在Visual Studio中达到数据断点,即使我非常确定我将数据断点设置在正确的地址上也是如此。经过一番调查后,我注意到这是预期的行为,因为微软描述了以下声明:Use breakpoints in the Visual Studio debugger
数据断点在以下情况下不起作用:
未调试的进程将写入内存位置。
两个或多个进程之间共享内存位置。
内存位置在内核中更新。例如,如果记忆 传递给32位Windows ReadFile函数时,内存将 从内核模式更新,因此调试器不会在更新时中断。
我认为第三项是我的案子。所以我的问题是第三种情况是否正确,我想知道哪些代码会改变它。有没有有效的方法可以帮助我确定目标?