У меня Ubuntu 13.10, и у меня есть этот небольшой раздетый + упакованный файл эльфа. Мне нужно автоматически выгрузить различные фрагменты информации из его процесса, поэтому я собрал крошечный трассировщик, который отслеживает мой прогресс, похожий на strace. Возникло три вопроса:
1) после подключения к моему процессу, как я могу получить его базу изображений?
2) где процесс прерывается первым? Судя по всему, это не EP программы.
3) каким-либо образом я могу быть уведомлен о загрузке файла .so/.lib? Я думаю, что GDB как-то может это сделать.
Первый вопрос действительно самый важный. Любая помощь приветствуется.
PTRACE_SETREGSET
, либоPTRACE_POKEUSER
, в зависимости от ОС и ЦП, чтобы установить регистры управления отладкой для установки аппаратной точки останова, илиPTRACE_POKETEXT
для ввода инструкции точки останова).ptrace
— это очень чистый API-интерфейс — он очень мало для вас делает, и вы должны знать аппаратное обеспечение и ABI от и до, чтобы эффективно использовать его. - person zwol   schedule 14.11.2013