Как сопоставить журналы доступа к памяти инструмента Intel Pin с журналами ошибок страницы ftrace?Linux

Anonymous
Как сопоставить журналы доступа к памяти инструмента Intel Pin с журналами ошибок страницы ftrace?

Сообщение Anonymous »

Я работаю над сопоставлением журналов доступа к памяти, созданных инструментом Pin, с журналами ошибок страниц из ftrace. Оба журнала содержат временные метки и адреса, но я сталкиваюсь с проблемами при попытке сопоставить обращения к памяти с соответствующими ошибками страниц. Вот разбивка журналов и проблема, с которой я столкнулся.
Закрепить журналы (доступ к памяти)
Я Я использую инструмент pinatrace.cpp из pintool/source/tools/ManualExamples/. Я запускаю команду:

Код: Выделить всё

../../../pin -t obj-intel64/pinatrace.so -- ls
Выходные данные журнала Pin для доступа к памяти выглядят следующим образом:

Код: Выделить всё

13746.948842: 0x72f1e9532543: W 0x7ffcebf1a788
Журналы ftrace (ошибки страниц)
Я фиксирую события ошибок страниц с помощью ftrace и журналы имеют следующий формат:

Код: Выделить всё

ls-39090   [003] d.... 13747.755595: page_fault_user: address=0x7fb30b788000 ip=0x7fb31f3fabf3 error_code=0x6
Проблема
Я вижу несоответствия между журналами (например, почти все ошибки страниц не иметь соответствующий адрес доступа из журнала инструмента закрепления).
Что я пробовал
  • Отключение ASLR, чтобы адреса не были случайными.
  • Попытка сопоставления с использованием номера страниц вместо полных адресов.
  • Ищем точное совпадение временных меток между журналами.
Несмотря на эти усилия, Мне не удалось успешно сопоставить обращения к памяти и ошибки страниц.
Будем очень признательны за любые советы и предложения!

Подробнее здесь: https://stackoverflow.com/questions/793 ... fault-logs

Вернуться в «Linux»