使用变量地址读取另一个进程的内存

时间:2013-02-10 17:43:52

标签: c++ multithreading c++builder access-violation ram

我想读取进程A的内存,但是当处理进程A时。我已经运行了A,它显示了一些变量的地址,我把它关闭了。

我已经运行了B输入A变量的地址。它会导致错误“访问冲突......”。

我使用Borland C ++构建器和Windows 7.

有什么方法可以在关闭过程时观察ram吗?也许一些工具会帮助我。你可以给我一些工具名称,以便在内存释放后按绝对地址读取内存吗? 也许它应该是某种泄漏探测器?

2 个答案:

答案 0 :(得分:2)

关闭后我不知道,但在运行时,您可以ReadProcessMemory()使用CreateRemoteThread

答案 1 :(得分:2)

在大多数系统上,单独的进程存在于完全独立的虚拟地址空间中。你在一个过程中看到的指针在另一个过程中完全没有意义。

因此,如果你想这样做,你必须明确地共享内存;我不是Windows专家,但我相信CreateSharedMemory()可能就是你所需要的。