Установка ожидающей точки останова по определенному адресу в GDB - PullRequest
0 голосов
/ 30 октября 2019

У меня есть приложение без источника или символов. Я хотел бы установить точку останова в модуле, который загружается через некоторое время после запуска. Модуль загружается по одному и тому же базовому адресу каждый раз (0x500000). Я хотел бы установить точки останова внутри этого модуля перед запуском приложения, потому что я хотел бы избежать работы по поиску, какая инструкция в двоичном файле загружает модуль, и установки там точки останова.

Я знаю об ожидающих точках остановав GDB, где, если я скажу break code.c:53 или break function, GDB попытается преобразовать его в адрес, а если не сможет, то пометит его как ожидающий и попытается пересмотреть каждый раз при загрузке нового модуля. Моя текущая проблема заключается в том, что кажется, что эта функция не работает для абсолютных адресов. Если я хочу break 0x501000, GDB не помечает его как ожидающее, даже если нет модуля, чье адресное пространство охватывает 0x501000.

Мой вопрос такой: Могу ли я установить точку останова наконкретный адрес, но сказать GDB подождать, пока этот модуль не загрузится?

1 Ответ

0 голосов
/ 01 ноября 2019

Да, команда "b * 0x1234"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...