Mac OS X эквивалент VirtualQuery или /proc/pid/maps?

#macos

#macos

Вопрос:

Есть ли какой-нибудь способ запросить адресное пространство процесса на Mac?

В Windows мы используем VirtualQuery, а в Linux мы анализируем /proc/self/maps (тьфу).

Есть ли системный вызов или аналогичная функциональность на Mac?

Ответ №1:

vmmap Утилита командной строки предоставит вам эту информацию. Однако я не уверен, что API, стоящие за этим, являются общедоступными.

Комментарии:

1. Потрясающе. Мы рассматриваем возможность переноса нашей платформы бинарного инструментария DynamoRIO на Mac, так что в конечном итоге нам все равно пришлось бы перепроектировать множество частных интерфейсов ядро-пользовательское пространство.

2. Классная штука … Удачи! Если у вас еще нет копии «Mac OS X Internals» Амита Сингха, я бы настоятельно рекомендовал это сделать.

Ответ №2:

для этого можно использовать mach_vm_region_info. Видишь http://www.newosxbook.com/src.jl?tree=listingsamp;file=12-1-vmmap.c

Комментарии:

1. Пожалуйста, используйте ссылки только для ознакомления, поскольку они меняются со временем. Вставьте основную часть ответа сюда.