Иллюстрированный самоучитель по Windows 2000
Символы
и деревья символов
Как правило, при
компиляции кода могут быть созданы две версии исполняемого файла —
отладочная
версия (debug version, известная также под названием checked version) и
обычная
(nodebug или free). Отладочная версия содержит дополнительный
код, который позволяет разработчику отлаживать программу. Файл отладочной версии
имеет больший размер и исполняется медленнее. Обычная версия исполняемого файла
компактнее и исполняется быстрее, но не позволяет осуществлять отладку.
Все исполняемые файлы,
DLL, драйверы и другие программы представляют собой обычные (неотладочные) версии.
Каждому программному файлу ставится в соответствие символьный файл, который
содержит отладочный код. Отладочная версия Windows 2000, а также инструкции
по ее установке входят в состав программного продукта Windows 2000 Device Driver
Kit (DDK). Отладочная версия находится в подкаталоге Symbols, который содержит
подкаталоги для файлов каждого типа (exe, dll, sys). Эта структура называется
символьным деревом
(symbol tree).
Утилитам, используемым
для отладки Windows NT/2000 или для интерпретации файлов дампа памяти, требуется
символьное дерево, в котором содержатся символьные файлы соответствующей версии
Windows NT/2000 (на момент, когда имеет место ошибка ядра STOP). Некоторые утилиты
требуют, чтобы подкаталог \Symbols находился на жестком диске в каталоге
%SystemRoot%.
Некоторые утилиты допускают указание пути к подкаталогу \Symbols в качестве
одной из опций командной строки (в режиме командной строки или в диалоговом
окне).
Отладка ядра требует
наличия двух компьютеров — так называемого
целевого компьютера
(target
machine) и
хост-компьютера
(host machine).