Проверка отображения двоичного файла

Если я запускаю какую-то программу под Linux, я вижу в / proc / pid / smaps, что часть ее двоичного файла отображается на физическую память. Например:

08047000-0804d000 r-xp 00000000 b4:04 2845       /usr/bin/test_prog
Size:                 24 kB
Rss:                  20 kB
Pss:                  20 kB
Shared_Clean:          0 kB
Shared_Dirty:          0 kB
Private_Clean:        20 kB
Private_Dirty:         0 kB
Referenced:           20 kB
...

(сопоставлено 20 из 24 кБ)

Как я могу точно увидеть, какие части двоичного файла отображаются? Если я правильно понимаю, в соответствии с этим ответом поле адреса в / proc / pid / maps показывает начальный и конечный адреса всего файла в виртуальной памяти. Какой инструмент я могу использовать, чтобы выяснить, какая часть виртуальной памяти, куда загружен бинарный файл, отображается в ОЗУ?

1 ответ

Решение

/proc/pid/pagemap can give such information. Документация здесь.

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