如何获取有关 MAC OS Catalina 上的进程内存映射状态的信息



我需要获取有关进程内存映射状态的信息才能查找内存映射段、堆和堆栈片段。

在 Linux 上,命令/proc/<PID>/maps显示有关进程内存映射状态的信息。在MAC上,我尝试使用vmmap PID命令,但是在此命令发出的信息中找不到有关内存映射段,堆和堆栈片段的信息。

信息应按以下格式显示:

556dfe8b6000-556dfe8bf000 rw-p 00107000 08:08 6553607 /bin/bash
556dfe8bf000-556dfe8c9000 rw-p 00000000 00:00 0
556dff36b000-556dff4e3000 rw-p 00000000 00:00 0 [heap]
7f558b5a3000-7f558b5a9000 rw-p 00000000 00:00 0
7f558cf3f000-7f558cf66000 r-xp 00000000 08:08 1577798 /lib/x86_64-linux-gnu/ld-2.27.so
...
7f558d168000-7f558d169000 rw-p 00000000 00:00 0
7ffe96b2c000-7ffe96b4d000 rw-p 00000000 00:00 0 [stack]
7ffe96b70000-7ffe96b73000 r--p 00000000 00:00 0 [vvar]
7ffe96b73000-7ffe96b75000 r-xp 00000000 00:00 0 [vdso]

对于实例,我需要找到:堆 - 556dff36b000-556dff4e3000,堆栈 - 7ffe96b2c000-7ffe96b4d000,彩信 - 7f558b397000-7f558b3a2000。

您可以使用以下命令找到 Stack:

vmmap [PID] | grep '[S|s]tack'

堆实际上由一堆 MALLOC 行(MALLOC metadataMALLOC guard page等(链接表示

最新更新