Получить читаемые gdb символы без флага -g?
Я работаю над действительно большим проектом, который я хотел бы отладить с помощью GDB. К сожалению, компиляция с -g
flag занимает два с половиной дня и выводит библиотеки, размер которых превышает 60Go (проект занимает ~1Go без -g
).
Есть ли более простой способ получить таблицу символов (т.е. иметь возможность вернуться) и если да, то как? Я видел, что GDB предлагает три уровня отладки (уровень -g, как описано здесь), это поможет? Было бы string
?
Заранее спасибо.
2 ответа
Для возврата с только именами функций вам не нужно -g
совсем.
Для возврата с информацией о файле и строке, используя последние версии GCC, попробуйте -gmlt
опция (минимальная строка таблицы). Обратите внимание, что информация о локальной переменной не будет доступна в GDB.
Если вы хотите локальные переменные, вы, вероятно, захотите использовать -gdwarf-4
,
Документация, на которую вы указали, предназначена для gcc-2.95
, Это древняя версия. Если вы все еще используете его, вашей первой задачей должно быть переключение на (текущий) gcc-4.6.2
Если у вас есть представление об исходных файлах, которые вы хотите отладить compile them with -g option
, Убедись, что ты link with -g
вариант тоже. Теперь у вас есть частичное изображение отладки.