Что такое отладочная информация?

Я программист среднего уровня C, который изучает свой путь. Недавно я изучил использование GDB (фактически), а также пишу код с использованием Ptrace.
Я просматривал код на ptrace и наткнулся на "ИНФОРМАЦИЮ О ОТЛАДКЕ".

Я хочу знать, что это значит и когда я должен включить это в свой код?
Что такое файлы отладочной информации?

Я не мог найти много от Google и вики, связанных с этим. Для этого тега также нет вики. Может быть, если вы укажете мне правильное направление, я могу отплатить, написав один.

3 ответа

Решение

DEBUG_INFO, на который вы ссылаетесь, вероятно, является просто опцией (и определением) ядра Linux. Включение этого параметра при настройке ядра указывает компилятору включить отладочную информацию в полученный двоичный файл. Эта отладочная информация сама по себе является просто дополнительными данными, которые позволяют отладчикам (и другим инструментам, таким как strace, addr2line, gprof, ...) связывать двоичный код, из которого он выполняется, с исходным кодом, из которого он был скомпилирован (исходные строки, имена переменных и т. Д., И т. Д.). Вы можете найти более подробную информацию об отладочной информации в целом, начиная с DWARF (популярный формат данных отладки).

Проверьте, что такое дамп ядра. Вы можете получить некоторые указания.

Весь кредит идет к Питеру за ответ. Изначально я прошел через " Что такое дамп ядра"
Затем я наткнулся на следующую ссылку, которая на самом деле говорит разницу между

  1. Debug Build
  2. Выпустить сборку

    а именно: отладочная сборка включает в себя отладочную информацию, в то время как сборка выпуска не имеет их и является оптимизированным кодом. Также этот ответ может помочь вам получить больше информации.

Другие вопросы по тегам