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