Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
При сборке драйвера или другой программы символы программы обычно хранятся в файлах символов, хотя некоторые старые компиляторы хранят определенные символы в исполняемом файле. При анализе программы отладчик должен получить доступ к символам программы.
Как правило, файлы символов могут включать любые или все следующие символы:
Имена и адреса всех функций
Все определения типов данных, структуры и классов
Имена, типы данных и адреса глобальных переменных
Имена, типы данных, адреса и области локальных переменных
Номера строк в исходном коде, соответствующие каждой двоичной инструкции
Некоторые разработчики могут чувствовать себя некомфортно, делясь всей этой информацией со своими клиентами. BinPlace можно использовать для уменьшения количества символов в файле символов.
Некоторые основные символы, такие как имена функций и глобальные переменные, необходимы даже для самой базовой отладки. Они называются общедоступными символами. Символы, такие как имена структуры данных, глобальные переменные, видимые только в одном файле объекта, локальных переменных и сведения о номере строки, не всегда требуются для отладки, хотя они полезны для более подробного сеанса отладки. Они называются частными символами.
Файл символов, содержащий как закрытые, так и общедоступные символы, называется полным файлом символов. Файл символов, содержащий только открытые символы, называется обрезанным файлом символов.
BinPlace может создать урезанный файл символов. Это делается путем создания нового файла символов, содержащего только открытые символы; Закрытые символы удаляются ("отрезаются"). Если используются наиболее распространенные параметры BinPlace (-a -x -s -n), файлы с полосатыми символами помещаются в каталог, указанный после переключателя -s , а полные файлы символов помещаются в каталог, который указан после переключателя -n .
Если BinPlace удаляет файл символов, то отрезаемые и полные версии файла получают идентичные сигнатуры и другие сведения об идентификации. Это позволяет использовать любую версию для отладки.
Заметка BinPlace будет удалять закрытые символы из файла символов, если файл символов находится в том же каталоге, что и исполняемый файл, и вы указываете имя исполняемого файла (вместе с соответствующими параметрами) в командной строке BinPlace. Не следует указывать имя самого файла символов. Это приведет к перемещению файла BinPlace, не изменяя его.
Если необходимо определить, содержит ли файл символов закрытые символы, можно использовать средство SymChk . SymChk входит в состав пакета средств отладки для Windows. Дополнительные сведения см. в статье SymChk и Отладка Windows .
Если вы отправляете драйвер в программу сертификации оборудования Windows, вы можете отправить отрезаемые файлы символов, если вы предпочитаете не предоставлять общий доступ к частным символам с корпорацией Майкрософт. Файлы символов, обработанные с помощью BinPlace, не раскрывают какие-либо части архитектуры вашего драйвера, которые обычно считаются конфиденциальными. Дополнительные сведения см. в программе сертификации оборудования Windows.