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)