我可以访问当前应用程序使用的内存之外的内存吗?

Can I get access to memory outside of of used by current application?

是否可以访问位于当前应用程序之外的内存?例如,我需要检查 App2 如何使用它的内存(检查内存碎片)。 afaik 每个应用程序都有自己的虚拟内存,但我需要检查位于它之外的内存。

是的,这就是调试器的工作方式,如果两个程序合作,您可以分配共享内存。如果您的程序 运行 具有足够的管理员权限并且系统已针对它进行配置,您还可以通过内核请求访问原始系统内存。

在 Windows 上,有一个名为 ReadProcessMemory 的功能可以为您制作副本。在 Linux,您可以打开 /proc/[pid]/mem 并通过它访问它。您还可以查找有关如何编写调试器并以这种方式附加到进程的教程。

但是,除非您已经有经验,否则我不会亲自尝试...获得任何有用的东西比您意识到的要难得多。相反,请尝试使用调试器和内存分析器等现有程序,或检测您的 App2 以自行报告。