.reload (модуль перезагрузки)

Команда reload удаляет все сведения о символах для указанного модуля и перезагрузит эти символы по мере необходимости. В некоторых случаях эта команда также перезагрузит или выгрузит сам модуль.

.reload [Options] [Module[=Address[,Size[,Timestamp]]]] 
.reload -?

Параметры

Параметры любого из следующих параметров:

/d
Перезагрузите все модули в списке модулей отладчика. (Если вы опустите все параметры, эта ситуация используется по умолчанию во время отладки в пользовательском режиме.)

/f
Принудительно отладчик немедленно загружает символы. Этот параметр переопределяет отложенную загрузку символов. Дополнительные сведения см. в разделе "Примечания".

/i
Игнорирует несоответствие в версиях PDB-файла. (Если этот параметр не включен, отладчик не загружает несогласованные файлы символов.) При использовании /i также используется /f, даже если вы не указываете его явным образом.

/l
Выводит список модулей, но не перезагрузит их символы. (В режиме ядра этот параметр предоставляет выходные данные, аналогичные выходным данным. Команда lm .)

/N
Перезагрузит только символы ядра. Этот параметр не перезагрузит символы пользователя. (Этот параметр можно использовать только во время отладки в режиме ядра.)

/o
Принудительно перезаписывает кэшированные файлы в нижнем хранилище сервера символов. При использовании этого флага также следует включить /f. По умолчанию подчиненные файлы хранилища никогда не перезаписываются.

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

/s
Перезагрузит все модули в списке образов модуля системы. (Если вы опустите все параметры, эта ситуация используется по умолчанию во время отладки в режиме ядра.)

Если вы загружаете отдельный системный модуль по имени при отладке в пользовательском режиме, необходимо включить /s.

/u
Выгружает указанный модуль и все его символы. Отладчик выгрузит любой загруженный модуль, имя которого соответствует module, независимо от полного пути. Имена изображений также выполняются в поиске. Дополнительные сведения см. в заметке в следующем разделе "Примечания".

/Unl
Перезагрузит символы на основе сведений о изображении в выгруженном списке модулей.

/Пользователя
Перезагружает только символы пользователя. (Этот параметр можно использовать только во время отладки в режиме ядра.)

/v
Включает подробный режим.

/w
Обрабатывает модуль как литеральную строку. Это лечение запрещает отладчику расширять дикие карта символы.

Модуль
Указывает имя изображения в целевой системе, для которой нужно перезагрузить символы на хост-компьютере. Модуль должен содержать расширение имени и имени файла. Если вы не используете параметр /w, модуль может содержать различные дикие карта символы и описатели. Дополнительные сведения о синтаксисе см. в разделе String Wild карта Синтаксис. Если вы опустите модуль, поведение команды reload зависит от того, какие параметры вы используете.

Адрес
Указывает базовый адрес модуля. Как правило, этот адрес должен быть указан только в том случае, если заголовок изображения поврежден или выстраивается.

Размер
Указывает размер образа модуля. Во многих ситуациях отладчик знает правильный размер модуля. Если отладчик не знает правильный размер, следует указать размер. Этот размер может быть фактическим размером модуля или большим числом, но размер не должен быть меньше. Как правило, этот размер необходимо иметь только в том случае, если заголовок изображения поврежден или выстраивается.

Timestamp
Задает метку времени образа модуля. Во многих ситуациях отладчик знает правильную метку времени модуля. Если отладчик не знает метки времени, следует указать метку времени. Как правило, необходимо иметь эту метку времени, только если заголовок изображения поврежден или выстраивается.

Обратите внимание, что между параметрами адреса, размера и метки времени не должно быть пустого места.

-?
Отображает короткий текст справки для этой команды.

Среда

Позиция Description
Режимы Режим пользователя, режим ядра
Целевые объекты Динамический, аварийный дампа
Платформы Все

Дополнительная информация

Дополнительные сведения об отложенной (отложенной) загрузке символов см. в разделе "Отложенная загрузка символов". Дополнительные сведения о других параметрах символов см. в разделе "Параметры символов".

Замечания

Команда reload не приводит к чтению сведений о символах. Вместо этого эта команда позволяет отладчику знать, что файлы символов, возможно, изменились или что новый модуль должен быть добавлен в список модулей. Эта команда приводит к тому, что отладчик пересматривает список модулей и удаляет сведения о символах для указанных модулей. Фактические сведения о символах не считываются из отдельных PDB-файлов до тех пор, пока не потребуется информация. (Этот тип загрузки называется отложенной загрузкой символов или отложенной загрузкой символов.)

Вы можете принудительно загружать символы с помощью параметра /f или выполнив команду ld (Load Symbols).

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

Если заголовок изображения неправильно по какой-либо причине, например выгрузочный модуль или выгружается, вы можете правильно загрузить символы с помощью аргумента /unl или указать как адрес , так и размер.

Команда .reload /u выполняет широкий поиск. Отладчик сначала пытается сопоставить модуль с точным именем модуля независимо от пути. Если отладчик не может найти это совпадение, модуль обрабатывается как имя загруженного образа. Например, если hal, который находится в памяти, имеет имя модуля halacpi.dll, обе из следующих команд выгрузают свои символы.

kd> .reload /u halacpi.dll

kd> .reload /u hal

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

0:000> .reload /u ntdll.dll
Unloaded ntdll.dll

0:000> .reload /s /f ntdll.dll