Отладочные символы

Отладочные символы

debug символы (символы отладки) — информация, которую язык программирования генерирует автоматически на основе исходных кодов. Это специфичный кусок машинного кода, описывающий текущий исполняемый модуль. Отладочная информация может компилироваться вместе с бинарным исполняемым файлом, и входить в его состав, может присутствовать в качестве отдельного файла, либо же просто отбрасываться на этапе компиляции и/или линковки. Эта информация позволяет человеку использовать «символические» (отладочные) данные о двоичном файле, такие как имена переменных, процедур и функция из исходного кода. Эта информация может быть крайне полезной во время поиска ошибок в исходном коде, отладке программы и разного рода отказах.

Когда отладочные символы включаются в состав самого двоичного файла, его размер может весьма значительно увеличиваться (иногда на несколько мегабайт). Чтобы избежать этого избыточного размера, современные компиляторы выводят отладочную информацию в отдельный файл; для компиляторов Microsoft этот файл называется pdb(program database)-файл. Некоторые компании распространяют свои pdb файлы проектов на отдельных CD/DVD для того чтобы конечные пользователи могли отлаживать их продукты. Так же некоторые компании, например Mozilla Corporation имеют специальные серверы, с которых можно скачать отладочные символы отдельно. WinDBG — отладчик от Microsoft может быть сконфигурирован так, чтобы автоматически загружать отладочную информацию для DLL-библиотек Windows по запросу, если в них есть необходимость. Однако PDB отладочная информация которую распространяет Microsoft разумеется распространяется лишь частично (она включает в себя только общедоступные функции, глобальные переменные и их типы данных), в то время как у Mozilla Corporation она имеет схожую инфраструктуру, однако распространяются с полноценной отладочной информацией.

И Microsoft и Mozilla также распространяют исходные коды (Microsoft — предоставляет некоторые компоненты .Net Framework, в то время как Mozilla предоставляет полные исходные коды) для того чтобы упростить процесс отладки.

В репозиториях Debian отладочная информация выделена в пакеты с суффиксом «-dbg», которые могут быть установлены по желанию.

История

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

Публичные сервера исходных кодов и символьной отладки



Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Полезное


Смотреть что такое "Отладочные символы" в других словарях:

  • Debug symbol — debug символы (символы отладки)  информация, которую язык программирования генерирует автоматически на основе исходных кодов. Это специфичный кусок машинного кода, описывающий текущий исполняемый модуль. Отладочная информация может… …   Википедия

  • Отладка программы — Отладка  этап разработки компьютерной программы, на котором обнаруживают, локализуют и устраняют ошибки. Чтобы понять, где возникла ошибка, приходится : узнавать текущие значения переменных; выяснять, по какому пути выполнялась… …   Википедия

  • Отладчик — (дебаггер, англ. debugger) компьютерная программа, предназначенная для поиска ошибок в других программах, ядрах операционных систем, SQL запросах и других видах кода. Отладчик позволяет выполнять пошаговую трассировку, отслеживать,… …   Википедия

  • Объектный модуль — (также объектный файл, англ. object file) файл с промежуточным представлением отдельного модуля программы, полученный в результате обработки исходного кода компилятором. Объектный файл содержит в себе особым образом подготовленный код (часто …   Википедия

  • CryptGenRandom — CryptGenRandom  функция криптографически стойкого генератора псевдослучайных чисел. Она включена включена в Microsoft’s Cryptographic Application Programming Interface. Microsoft рекомендует использовать её во всех Win32 программах, где… …   Википедия

  • АЛГОРИТМИЧЕСКИЙ ЯЗЫК — формальный язык программирования, формальный язык, предназначенный для описания вычислительных процессов, или, что то же, для записи алгоритмов, подлежащих выполнению на вычислительных машинах.. Различают проблемно ориентированные А. я. (А. я.… …   Математическая энциклопедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»