Я заинтересован в извлечение доступа к памяти определенной программы.
Я ищу следующий список, например, для конкретного исполнения:
[R\W] [Address] [numBytes]
R 0x0000012d32a21 0x4
Я уже пробовал valgrind и mtrace, а также их инструменты.
Все они, похоже, возвращают более общую статистику или статистику утечек памяти.
Я заинтересован во всех данных доступа к памяти.
Я гуглил это часами и нашел много работ, посвященных этой проблеме, но не работающего открытого исходного кода.
Ценю твою помощь
Вы можете посмотреть в Штырь.
Из описания:
Pin — это динамический бинарный инструментарий для IA-32 и
Архитектура набора команд x86-64, которая позволяет создавать
инструменты динамического анализа программ.
Вы должны быть в состоянии найти или написать pintool, который делает то, что вам нужно. Например, этот. Связанный пример — это почти то, что вы просите. Вам нужно будет добавить IARG_MEMORYREAD_SIZE
а также IARG_MEMORYWRITE_SIZE
к приборам, но это выглядит довольно тривиально.
Инструмент лакей Valgrind должен дать вам необходимую информацию.
Увидеть http://www.valgrind.org/docs/manual/lk-manual.html
опция —trace-mem = [по умолчанию: нет]