2016-02-24 12 views
-1

Есть ли способ заставить gcc генерировать только подмножество полной информации об отладке, которая будет достаточной для утилиты addr2line? Или любой способ лишить ненужных? Я попыталсяGCC. Создать ограниченную информацию об отладке

$ objcopy --only-держать-отладки --remove сечение = .debug_loc --remove сечение = .debug_aranges --remove сечение = .debug_frame мой эльф-файл

Есть ли что-нибудь, что может быть лишено дополнительно?

ответ

2

Вы хотите -g1. Это дает минимальную информацию об отладке для обратных трасс. Из инструкции:

Уровень 1 производит минимальную информацию, достаточную для создания цепочек вызовов в частей программы, которые вы не планируете отлаживать. Сюда входят описания функций и внешних переменных, а также номера строк , но нет информации о локальных переменных.

Вы также можете удалить некоторые из отладочной информации после факта. Один из способов сделать это описан в the gdb "MiniDebugInfo" documentation.

+0

Кажется, что 'addr2line' не понимает' .gnu_debugdata', но '-g1' должно быть достаточно для меня. – Sergio