Программирование драйверов Windows

         

Директории идентификаторов


Файлы идентификаторов (symbol files) создаются по дополнительно установленным флагам компиляции при компиляции и сборке проекта. В них находятся имена локальных и глобальных переменных, адреса функций и информация об определениях типов данных. Приводится также информация о номерах строк, поэтому машинные инструкции могут быть легко соотнесены с исходным текстом. Программные средства Microsoft могут предоставлять эти файлы в нескольких форматах: более старом (но более типичном) COFF (Common Object File Format) и формате PDB (Program Database), что определяется настроечными флагами компиляции и сборки.

Сама операционная система Windows тоже поставляется с файлами идентификаторов, которые могут быть и на дополнительном диске дистрибутива, и в составе DDK (разумеется, речь не идет об исходных текстах). Для операционной системы Windows 2000 такие файлы, возможно, до сих пор можно загрузить с Интернет сервера Microsoft. Для остальных версий они распространяются Microsoft в рамках подписки MSDN либо в составе набора CD дисков Driver Suite. Поскольку файлы идентификаторов меняются при каждой новой сборке (build), то обновление системы (service pack) требует также и обновления файлов идентификаторов, относящихся к системным модулям.

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

Когда установлены необходимые файлы идентификаторов, отладчику WinDbg необходимо сообщить об их местонахождении. Это выполняется с использованием в пункте Symbol File Path пункта меню File. Идентификаторы операционной системы обычно устанавливаются в директории %SystemDir%\Symbols. Файлы идентификаторов драйвера (расширения .DBD или .PDB) обычно хранятся вместе с бинарным файлом драйвера (.SYS, .WDM).



Содержание раздела