Поделиться через


lm (перечисление загруженных модулей)

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

lm Options [a Address] [m Pattern | M Pattern]

Параметры

Параметры

Любое сочетание следующих параметров:

D

Отображает выходные данные с помощью языка разметки отладчика.

o

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

l

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

v

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

u

(Только в режиме ядра) Отображает только сведения о символах пользовательского режима.

k

(Только в режиме ядра) Отображает только сведения о символах режима ядра.

й

Отображает только модули с проблемой символов. К этим символам относятся модули без символов и модули с состоянием символов C, T, #, M или Export. Дополнительные сведения об этих нотациях см. в разделе Сокращение состояния символов.

с

Отображает данные контрольной суммы.

1 мин

Уменьшает выходные данные, чтобы ничего не включались, кроме имен модулей. Этот параметр полезен, если вы используете маркер FOREACH для передачи выходных данных команды в входные данные другой команды.

sm

Сортирует отображение по имени модуля, а не по начальнму адресу.

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

i

Отображает имя файла изображения.

f
Отображает полный путь к изображению. (Этот путь всегда соответствует пути, который отображается в уведомлении о начальной загрузке, если вы не выполнили команду .reload -s .) При использовании f сведения о типе символов не отображаются.

n

Отображает имя изображения. При использовании n сведения о типе символов не отображаются.

p
Отображает имя сопоставленного изображения. При использовании p сведения о типе символов не отображаются.

t

Отображает метки времени файла. При использовании t сведения о типе символов не отображаются.

Адрес

Указывает адрес, содержащийся в этом модуле. Отображается только модуль, содержащий этот адрес. Если Address содержит выражение, оно должно быть заключено в круглые скобки.

Шаблон m

Указывает шаблон, которому должно соответствовать имя модуля. Шаблон может содержать различные подстановочные знаки и описатели. Дополнительные сведения о синтаксисе этих сведений см. в разделе Синтаксис строковых подстановочных знаков.

В большинстве случаев имя модуля — это имя файла без расширения имени файла. Например, если вы хотите отобразить сведения о драйвере Flpydisk.sys, используйте команду lm mflpydisk, а не lm mflpydisk.sys. В некоторых случаях имя модуля значительно отличается от имени файла.

Шаблон M

Указывает шаблон, которому должен соответствовать путь к изображению. Шаблон может содержать различные подстановочные знаки и описатели. Дополнительные сведения о синтаксисе этих сведений см. в разделе Синтаксис строковых подстановочных знаков.

Среда

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

Комментарии

Команда lm выводит список всех модулей и состояние символов для каждого модуля.

Windows поддерживает выгруженный список модулей для процессов в пользовательском режиме. При отладке процесса или файла дампа пользовательского режима команда lm также отображает эти выгруженные модули.

Отображаемые модули зависят от того, как выполняется отладка, например в пользовательском режиме или режиме ядра, а также от контекста, на который вы смотрите. Дополнительные сведения о контексте процесса и других параметрах контекста см. в разделах Изменение контекстов и Управление процессами и потоками.

Эта команда показывает несколько столбцов или полей, каждое из которых имеет свой заголовок. Некоторые из этих названий имеют определенное значение:

  • Имя модуля обычно является именем файла без расширения имени файла. В некоторых случаях имя модуля значительно отличается от имени файла.

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

  • Первый адрес в модуле отображается как начальный. Первый адрес после окончания модуля отображается как конец. Например, если start имеет значение "faab4000", а end — "faab8000", модуль расширяется от 0xFAAB4000 до 0xFAAB7FFF включительно.

  • Только lmv: в столбце путь к изображению отображается имя исполняемого файла, включая расширение имени файла. Как правило, полный путь включается в пользовательском режиме, но не в режиме ядра.

  • Только lmv: значение загруженного файла изображения символов совпадает с именем изображения, если только не присутствуют символы Microsoft CodeView.

  • Только lmv: значение файла сопоставленного образа памяти обычно не используется. Если отладчик сопоставляет файл изображения (например, во время отладки минидампа), это значение является именем сопоставленного образа.

В следующем примере кода показана команда lm с использованием параметров m и s*, поэтому отображаются только модули, начинающиеся с "s".

kd> lm m s*
start    end        module name
f9f73000 f9f7fd80   sysaudio     (deferred)                 
fa04b000 fa09b400   srv          (deferred)                 
faab7000 faac8500   sr           (deferred)                 
facac000 facbae00   serial       (deferred)                 
fb008000 fb00ba80   serenum      e:\mysymbols\SereEnum.pdb\.......
fb24f000 fb250000   swenum       (deferred)                 

Unloaded modules:
f9f53000 f9f61000   swmidi.sys
fb0ae000 fb0b0000   splitter.sys
fb040000 fb043000   Sfloppy.SYS

Примеры

В следующих двух примерах команда lm показана один раз без каких-либо параметров и один раз с параметром sm. Сравните порядок сортировки в двух примерах.

Пример 1:

0:000> lm
start    end        module name
01000000 0100d000   stst       (deferred)
77c10000 77c68000   msvcrt     (deferred)
77dd0000 77e6b000   ADVAPI32   (deferred)
77e70000 77f01000   RPCRT4     (deferred)
7c800000 7c8f4000   kernel32   (deferred)
7c900000 7c9b0000   ntdll      (private pdb symbols) c:\db20sym\ntdll.pdb

Пример 2.

0:000> lm sm
start    end        module name
77dd0000 77e6b000   ADVAPI32   (deferred)
7c800000 7c8f4000   kernel32   (deferred)
77c10000 77c68000   msvcrt     (deferred)
7c900000 7c9b0000   ntdll      (private pdb symbols)  c:\db20sym\ntdll.pdb
77e70000 77f01000   RPCRT4     (deferred)
01000000 0100d000   stst       (deferred)

См. также раздел