Как настроить модификацию регистра sp в valgrind - PullRequest
0 голосов
/ 10 июня 2018

Я хочу отследить модификацию регистра стека x86_64 (sp), написав простой инструмент valgrind.Есть ли какой-нибудь другой инструмент, который отслеживает изменение sp (или другие изменения регистра) уже, где я мог бы посмотреть и скопировать?Я думаю, что мне нужно проанализировать IRStmt с тегом Ist_Put и искать Put.offset == offset_SP.Есть ли инструменты, которые уже делают это?Я хочу распечатать значения, которые записаны в SP.

1 Ответ

0 голосов
/ 10 июня 2018

См. Pub_tool_tooliface.h.Это определяет набор функций void VG_ (track_new_mem_stack *) и VG_ (track_die_mem_stack *) для отслеживания изменений в SP.

Если вам не требуется отслеживание с очень высокой производительностью (например, в memcheck), оно должно бытьдостаточно хорошо, чтобы использовать:

  • VG_ (track_new_mem_stack)
  • VG_ (track_new_mem_stack_signal)
  • VG_ (track_die_mem_stack)
  • VG_me_m_m__m_m_m_m_m_m_m_m_m_m_m_m_m_m_m_m_m_m_m_m_m_m_m_m_m_m_m_m_m_m_m_m_m_m_m_m_m_m_m_m_m_m_m_m_m_m_m_m_m_m_m_m_d*
...