线程内存在暂停时更改

时间:2011-09-21 17:34:14

标签: c++ windows multithreading

我使用SuspendThread在另一个进程中挂起了一个线程,然后使用GetThreadContext获取其上下文。 GetThreadContext成功。
然后我用ReadProcessMemory读取其堆栈的部分内容。 我做了一些事情(当线程暂停时)然后我再次读取相同的内存 我假设当线程被挂起时,它的内存应保持不变,但我在内存读数中会得到不同的结果。

可能导致此问题的原因以及如何使内存保持不变?

1 个答案:

答案 0 :(得分:2)

  1. 可能导致这种情况的原因是什么?很多事情可能引起这种情况,但可能(p = .999999)的原因是你的错误代码通过写入来污染线程的内存。

  2. 如何让内存保持不变?这里只有一个答案:修复代码中的错误。