Получение физического адреса в инструменте pin
Я использую инструментальные средства булавки, чтобы получить следы памяти. По результатам реализации я обнаружил, что трассы указывают виртуальный адрес, а не физический адрес. Есть ли способ получить трассировку физического адреса в инструменте Pin? Помогите!
1 ответ
Инструмент закрепления работает в пространстве пользователя и поэтому работает только с виртуальными адресами. Невозможно получить физические адреса напрямую из API инструмента pin.
Альтернативный подход к переводу виртуальных адресов в физические адреса заключается в использовании API-интерфейса отображения страниц операционной системы внутри инструмента pin. В Linux это может быть возможно с помощью /proc/<pid>/pagemap
, В Интернете есть много примеров, которые демонстрируют, как преобразовать виртуальные адреса в физические адреса, и вы можете найти некоторые из них, выполнив поиск в google для поиска "карта виртуальной памяти в Linux".