GDB печатать символ по адресу относительно базового адреса
Я обнаружил подозрительный тупик по адресу myfile.exe+0x144c7 (из списка потоков в ProcessExplorer). Теперь я хочу знать, какая это функция.
info symbol addr
требует, чтобы адрес был абсолютным. Есть ли команда, которая принимает относительный адрес, заданный ProcessExplorer. Я могу добавить 0x400000, но было бы лучше, если бы GDB мог сделать это для меня.
1 ответ
GDB принимает выражение для адреса символа, так что вы можете сделать что-то вроде этого:
info symbol 0x40000000 + 0x144c7
Если вы проверяете "информационные переменные" (или используете nm в исполняемом файле), возможно, есть символическое имя для текстового сегмента, содержащего ваш код, так что вы также можете сделать что-то вроде:
info symbol _init + 0x144c7
Обратите внимание, что символ может работать не так, как ожидалось, если ваша проблема в DLL или другом текстовом сегменте.