Как я могу предоставить addr2line файл символов для использования с разделенным двоичным файлом в Ubuntu?
У меня есть приложение C++, работающее в Ubuntu. Я хотел бы удалить двоичный файл приложения из его символов, чтобы они не были частью двоичного файла, а использовать утилиту addr2line для получения информации о трассировке путем ссылки на файл символов вместо символов, являющихся частью двоичного файла., Это возможно?
Самое близкое, что я получил до сих пор, - это сгенерировал файл символов, используя:
strip MyBinary -o thesymbols.sym
А затем я попытался использовать этот файл с помощью утилиты addr2line, например так:
addr2line 0x779e81 -b thesymbols.sym
Но это приводит к жалобе:
addr2line: 'a.out': No such file
Тогда я попробовал:
addr2line 0x779e81 -e MyBinary -b thesymbols.sym
Но это приводит к жалобе:
addr2line: MyBinary: Invalid bfd target
Может кто-нибудь направить меня в правильном направлении? Что я делаю неправильно?
Заранее благодарю за любую помощь!
Редактировать:
Теперь я понимаю, что когда я думал, что создаю файл, который просто содержит информацию о символах со следующим:
strip MyBinary -o thesymbols.sym
что я на самом деле просто создавал бинарный бинарный файл под названием thesymbols.sym
При этом мой первоначальный вопрос все еще остается в силе. Есть идеи?
1 ответ
Вы можете использовать бинарный двоичный файл с addr2line с адресом, с которого вы запускаете бинарный бинарный файл. Адрес относительно начала секции.text одинаковый как в двоичном, так и в раздетом виде.