如何让程序 D 读取分配给程序 A 的内存中的内存位置?
所以我想让 read D 读取这个内存位置并对其做一些工作。有什么想法吗?编写调试器扩展是唯一的方法吗?如果是,有什么建议吗?
我考虑过执行内存转储到文件(仍然不知道如何操作,AFAIK我只能在窗口中查看内存)并让D处理文件,但是有更好的方法吗?
So I'd like to let read D read this memory location and do some work on it. Any thoughts? Is writing a debugger extension the only way - if so, any recommendations?
I considered executing a memory dump to file (still don't know how, AFAIK I can only view memory in a window) and letting D work on the file, but is there a better way?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
可以读取另一个进程的内存。您应该使用 ReadProcessMemory 函数。
It is possible to read memory of another process. You should use ReadProcessMemory function.
如果您需要两个程序共享部分内存,可以使用 共享内存
if you need the two programs to share part of the memory you can use shared memory
由于您显然使用的是 Windows,因此一个进程查看另一进程内存的方法是使用 ReadProcessMemory。虽然调试器通常会使用它,但使用它仍然远远低于编写调试器。
Since you're apparently using Windows, the way for one process to look at another process' memory is with
ReadProcessMemory
. While it's certainly true that debuggers typically use this, using it is still well short of writing a debugger.