GDB печатать символ по адресу относительно базового адреса

Я обнаружил подозрительный тупик по адресу myfile.exe+0x144c7 (из списка потоков в ProcessExplorer). Теперь я хочу знать, какая это функция.

info symbol addr

требует, чтобы адрес был абсолютным. Есть ли команда, которая принимает относительный адрес, заданный ProcessExplorer. Я могу добавить 0x400000, но было бы лучше, если бы GDB мог сделать это для меня.

1 ответ

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

info symbol 0x40000000 + 0x144c7

Если вы проверяете "информационные переменные" (или используете nm в исполняемом файле), возможно, есть символическое имя для текстового сегмента, содержащего ваш код, так что вы также можете сделать что-то вроде:

info symbol _init + 0x144c7

Обратите внимание, что символ может работать не так, как ожидалось, если ваша проблема в DLL или другом текстовом сегменте.

Другие вопросы по тегам