Решения для проверки наличия в двоичном файле символов отладки

В этом руководстве каждый описывает некоторые из возможных проблем, которые могут вызвать проверку вместе со всеми двоичными файлами, содержащими символы отладки, а также мы предлагаем несколько способов решения этой проблемы. < / p>

Ваш компьютер работает медленно и ненадежно? Устали бороться с надоедливыми ошибками Windows? Ну, не ищите дальше, потому что Reimage здесь, чтобы помочь.

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

Когда я запускаю objdump --syms , я вижу гораздо больше “” отсутствующих символов в конечном продукте (по крайней мере, для объектов ядра).

Как участвовать в I проверить, есть ли в двоичном коде отладка?

Чтобы убедиться, что игрушка с ядром имеет отладочную информацию, вы можете добавить следующее в конец, связанный с командой objdump: | отладить grep. Если эта компания будет найдена, люди будут знать, что ваш текущий объект ядра содержит отладочную информацию. Если это определенно не обстоятельство, то это «чистый» элемент тела.

Чтобы увидеть, содержит ли значимый объект ядра отладочную информацию, вы можете добавить следующее в конец вашего элемента управления objdump : Grep < код> | отладка .

Если эта конкретная строка видна, вы знаете, что некоторая цель ядра содержит отладочную информацию. В противном случае это должен быть «чистый» объект ядра.

  geertvc @ jimi: ~ для mystuff / kernels / linux-3.12.6 cash objdump --syms ./modules/lib/modules/3.12.6/kernel/drivers/i2c/busses/i2c-at91. к | отладить grep 

проверьте, есть ли в двоичном файле символы отладки

Пример такого реального модуля ядра, который я разработал с отладочной информацией:

Хватит тратить время на компьютерные ошибки.

Представляем Restoro — необходимое программное обеспечение для всех, кто полагается на свой компьютер. Это мощное приложение быстро и легко исправит любые распространенные ошибки, защитит ваши файлы от потери или повреждения, защитит вас от вредоносных программ и аппаратных сбоев, а также оптимизирует ваш ПК для достижения максимальной производительности. Будь вы студент, занятая мама, владелец малого бизнеса или геймер - Restoro для вас!

  • 1. Загрузите и установите программное обеспечение Reimage.
  • 2. Откройте программу и нажмите "Сканировать".
  • 3. Нажмите "Восстановить", чтобы начать процесс восстановления.

  •   geertvc @ jimi: ~ против mystuff / kernels / linux-3.12.6 долларов objdump --syms ./modules/lib/modules/3.12.6/kernel/drivers/i2c / автобусы / i2c-at91. к | отладить grep00000000 r с .debug_frame 00000000 .debug_frame000 одна тысяча кд. debug_info 00000000 .debug_info00000000 b D .debug_abbrev 00000000 .debug_abbrev00000000 l n .debug_loc. ... ... ... ... ... ... .00000000 ..L debug_loc00000000 d .debug_aranges 00000000 .debug_aranges00000000 l D .debug_ranges 00000000 .debug_ranges00000000 r D .debug_line 00000000 .L debug_line00000000 debug_str. ... ... ... ... .00000000 ..debug_str00000000 n .debug_frame 00000000 средств d 

    Как видите, первая возможность ничего не возвращает, двухмерный процесс возвращает строки с debug .

    Примечание. По-моему, это просто покупка файла привела к “Stripped”, а не к случаям отладки и нулевой отладки. Однако разница в размере вашего текущего ядра протеста была значительной:

    • прибл. Пользовательская отладочная информация 16k
    • Примерно 137 КБ с отладочной информацией.

    проверьте, есть ли в двоичном файле символы отладки

    У меня вопрос, подходит ли какая-нибудь команда file в таких случаях?Насколько я понимаю, я полагаюсь на objdump --syms ... | команда отладки grep .

    Что такое символы в GDB?

    Таблица отладочных символов отображает инструкции так же, как очень двоичная программа, скомпилированная с тем же фактором, функцией или строкой в ​​аспекте исходного кода. Скорее, это ценное задание может быть: Консультации по программированию ⇒ Название услуг или продуктов, запись элемента, исходный файл, конкретный номер счета.

    В Linux можно реализовать информацию и objdump . В частности, вы можете оценить, читает ли реестр «разделенный» или «не разделенный» (в удивительном Ubuntu 20.04.1 LTS не имеет значения, является ли это исполняемый файл с расширенными функциями - g компилируется на основе -g или, альтернативно, без удаления для команды . present to file . Но тело через -g предоставляет с debug_info вокруг добавления), а objdump ob --syms предоставляет все, что полезно (для нас это говорит “без символов” для данной версии).

    Когда я запускаю вашу команду objdump --syms , я вижу гораздо больше, чем просто «недостающие символы» в ядре yield (по крайней мере, в терминах, касающихся объектов).

    Как добавить символическое представление в GDB?

    Чтобы добавить дополнительные символы, вы можете вложить деньги в файл add-symbol. Команда add-symbol-file считывает различные стратегии таблицы символов и информацию из имени файла всего отчета. Вы бы использовали это приобретение, если бы имя файла было динамически отправлено (в противном случае) в вашей запущенной программе.

    Чтобы часто проверять отладочную информацию в целевом объекте ядра, вы можете добавить следующее в конец всего влияния objdump : < код> | grep debug .

    Если это руководство удастся найти, вы полностью понимаете, что тема ядра будет содержать отладочную информацию. Нет, если это просто ваш собственный “чистый” объект ядра.

       [защищенная электронная почта] : ~ per mystuff / kernels / linux-3.12.6 Funds objdump --syms ./modules/lib/modules/3.12. 6 / ядро ​​/ драйверы / i2c / тренер / i2c-at91.ko | отладить grep 

    Пример: какой модуль ядра я изменил с помощью отладочной информации:

       [защищенная электронная почта] : ~ по сравнению с mystuff / kernels / linux-3.12.6 доход objdump --syms ./modules/lib/modules/3.12. 6 / ядро ​​/ драйверы / i2c / autobus / i2c-at91.ko | отладить grep00000000 с d .debug_frame 00000000 .debug_frame000 500 л.д. debug_info 00000000 .debug_info00000000 л D .debug_abbrev 00000000 .debug_abbrev00000000 b см. Debug_loc. ... ... ... ...! .00000000 ..L debug_loc00000000 химический .debug_aranges 00000000 .debug_aranges00000000 в дополнение к D .debug_ranges 00000000 .debug_ranges00000000 l D .debug_line 00000000 .L debug_line00000000 2 .debug_str. ... ...! ... ... .00000000 ..debug_str0000010 л .debug_frame 00000000 баксов д 

    Как видите, тип первого вывода ничего не возвращает, последующий вывод возвращает строки для отладки .

    Примечание. В моем примере конкретная команда file вернула этот конкретный остаток, “не удаленный” во время отладки, в роли также, как и в случае отладки nope. Однако были заметны некоторые различия в внешнем виде объекта ядра:

    • прибл. 16k без отладочной информации.
    • прибл. 137k далее в отладочной информации

    Мой вопрос всегда заключался в том, надежна ли команда file в таких случаях?Я полагаюсь внутри –syms objdump ... | команда отладки grep .

    Эта программа защитит вас от множества ошибок, которые могут возникнуть на компьютере, а также поможет быстро исправить любые неполадки.

    Check If Binary Has Debug Symbols
    Überprüfen Sie, Ob Die Binärdatei Debug-Symbole Enthält
    Verifique Se O Binário Tem Símbolos De Depuração
    Vérifiez Si Le Binaire A Des Symboles De Débogage
    Kontrollera Om Binär Har Felsökningssymboler
    Compruebe Si El Binario Tiene Símbolos De Depuración
    Controleer Of Binair Foutopsporingssymbolen Heeft
    Controlla Se Il Binario Ha Simboli Di Debug
    바이너리에 디버그 기호가 있는지 확인
    Sprawdź, Czy Plik Binarny Ma Symbole Debugowania
    г.