获取进程使用的所有区域的列表c ++

问题描述

在使用诸如Process Hacker或x64dbg之类的工具时,会出现“内存”分配器(x64dbg内存映射)。 是否有一种方法可以使所有这些区域以其核心响应的基地址和大小在c ++中显示在那里?

我知道如何获取所有模块,但这只给我图像,而没有映射的区域或私有区域。

如您在图像中看到的,我想要绿色的,而不仅仅是红色。 如果您需要进一步的信息,请告诉我。

enter image description here

编辑:我使用的平台是Windows。

Edit2:我找到了解决方案,方法是循环VirtualQuery并添加Base + Region Size,将帖子从Can't VirtualAlloc on free region returned by VirtualQuery更改为我的需要。

感谢您的所有帮助!

解决方法

在Linux上,您可以使用/procdoc)。

  • /proc/<pid>/map_files-有关内存映射文件的信息
  • /proc/<pid>/maps-内存映射到可执行文件和库文件(2.4)