GDB - отобразить адрес на строку и столбец в исходном коде - PullRequest
3 голосов
/ 13 октября 2019

И gcc, и clang имеют опцию -gcolumn-info, которая описывается следующим образом:

Извлекать информацию столбца местоположения в информацию отладки DWARF, а не только в файл и строку.

Я скомпилировал свой бинарный файл с этой опцией. Теперь у меня есть адрес какой-то инструкции и я хочу перевести его обратно в исходный файл, номер строки и столбец . Есть ли способ сделать это в GDB? Есть ли какой-нибудь другой инструмент, который может извлечь эту информацию?

Я знаю, что могу использовать info line *0xabcd1234 в GDB, чтобы получить исходный файл и строку, соответствующую этому адресу, но он не показывает столбец.

1 Ответ

0 голосов
/ 13 октября 2019

Отвечая на мой вопрос, я нашел один способ получить информацию с помощью команд lldb и image lookup:

(lldb) image lookup --address 0x134adc
      Address: libaaa.so[0x0000000000134adc] (libaaa.so.PT_LOAD[0]..text + 1030908)
      Summary: libaaa.so`test() + 272 at test.cpp:1842:124
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...