Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Образ — это исполняемый файл, dll или драйвер, загруженный Windows в рамках процесса пользовательского режима или ядра. Файл, из которого был загружен образ, называется его файлом образа.
Модуль отладчика кэширует список модулей для каждого процесса (или в режиме ядра— виртуальный процесс). Обычно каждый модуль в этом списке представляет изображение в процессе. Список модулей подсистемы можно синхронизировать с целевым объектом с помощью перезагрузки.
Заметка В отладке в режиме ядра список модулей движка для виртуального процесса содержит как модули системы в режиме ядра, так и модули пользовательского режима текущего процесса.
Модуль можно указать по базовому адресу в виртуальном адресном пространстве целевого объекта или по индексу в списке модулей, которые модуль поддерживает для целевого объекта. Индекс модуля равен его позиции в списке модулей, поэтому этот индекс изменится, если модуль с более низким индексом выгрузится. Все выгруженные модули имеют индексы; они всегда выше индексов загруженных модулей. Базовый адрес модуля не изменится до тех пор, пока он остается загруженным; В некоторых случаях это может измениться, если модуль выгрузится, а затем перезагрузится.
Индекс — это число от нуля до числа модулей в целевой системе минус единица. Количество модулей в текущем процессе можно найти путем вызова GetNumberModules.
Индекс можно использовать для поиска базового адреса путем вызова GetModuleByIndex. Базовый адрес модуля, принадлежащий символу с заданным именем, можно найти с помощью GetSymbolModule.
Следующие методы возвращают индекс и базовый адрес указанного модуля:
Чтобы найти модуль с заданным именем модуля, используйте GetModuleByModuleName.
Модуль, диапазон виртуальных адресов которого содержит заданный адрес, возвращается Методом GetModuleByOffset. Этот метод можно использовать для поиска индекса модуля по заданному базовому адресу модуля.
Следующие методы возвращают сведения о модулях, указанных по базовому адресу или индексу:
Имена модуля возвращаются GetModuleNames и GetModuleNameString.
Сведения о версии модуля возвращаются GetModuleVersionInformation.
Некоторые параметры, используемые для описания модуля, возвращаются GetModuleParameters. Дополнительные сведения о параметрах, возвращаемых этим методом, см. в DEBUG_MODULE_PARAMETERS.
Выгруженные модули
Во время отладки в пользовательском режиме выгрузочные модули отслеживаются только в Windows Server 2003 и более поздних версиях Windows. Более ранние версии Windows отслеживали только выгруженные модули в режиме ядра. При отслеживании они индексируются после загруженных модулей. Поэтому любой метод, выполняющий поиск модулей целевого объекта, будет искать все загруженные модули, а затем выгруженные модули. Выгруженные модули можно использовать для анализа сбоев, вызванных попыткой вызова выгрузочного кода.
Искусственные модули
Искусственные модули можно создавать как способ метки области памяти. Эти модули не могут содержать реальные символы, но они могут содержать искусственные символы. Метод AddSyntheticModule создает новый искусственный модуль. Искусственные модули можно удалить с помощью RemoveSyntheticModule. Перезагрузив все модули в целевом объекте, удаляются все искусственные модули.
Путь к изображению
Путь к исполняемому изображению используется подсистемой при поиске исполняемых образов.
Путь к исполняемому изображению может состоять из нескольких каталогов, разделенных точкой с запятой (;). Эти каталоги выполняются в порядке поиска.
Общие сведения о пути к исполняемому изображению см. в разделе "Путь к исполняемому изображению".
Чтобы добавить каталог в путь к исполняемому изображению, используйте метод AddImagePath. Весь путь к исполняемому файлу возвращается функцией GetImagePath и может быть изменён с помощью SetImagePath.
дополнительные сведения
Дополнительные сведения о процессах и виртуальных процессах см. в разделе "Потоки и процессы".