Как получить информацию о состоянии отображения памяти процесса в 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]

Для примера мне нужно найти: Heap - 556dff36b000-556dff4e3000, Stack - 7ffe96b2c000-7ffe96b4d000, MMS - 7f558b397000-7f558b3a2000.

1 ответ

Вы можете найти стек с помощью этой команды:

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

Куча на самом деле представлена ​​связкой строк MALLOC (MALLOC metadata, MALLOC guard pageи т.д...) ссылка

Другие вопросы по тегам