символы.

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

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

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

Примечание Часто оптимизированные компиляторы не включают точные сведения в файлы символов. Это может привести к тому, что подсистема неправильно интерпретирует значение некоторых переменных, так как расположение или время существования переменной могут быть неправильно описаны, в результате чего подсистема будет смотреть на неправильный фрагмент памяти или думать, что значение переменной активно, когда оно не работает (или наоборот). Кроме того, оптимизатор может изменить порядок выполнения или разделить функцию на несколько частей. Наилучшие результаты обычно получаются при отладке неоптимизированного кода.

Дополнительные сведения

Дополнительные сведения об использовании символов см. в разделе Использование символов. Общие сведения об использовании файлов символов и серверов символов см. в разделе Символы в разделе Отладчики этой документации.