lm(列出已加载的模块)

lm 命令显示指定的已加载模块。 输出包括模块的状态和路径。

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

参数

选项

以下选项的任意组合:

D

使用 调试器标记语言显示输出。

o

仅显示已加载的模块。

l

仅显示已加载符号信息的模块。

v

使显示内容非常详细。 显示内容包括符号文件名、映像文件名、校验和信息、版本信息、日期戳、时间戳,以及有关模块是否为 CLR) 托管代码 (的信息。 如果缺少相关页眉或分页,则不会显示此信息。

u

(仅内核模式) 仅显示用户模式符号信息。

k

(内核模式仅) 仅显示内核模式符号信息。

e

仅显示有符号问题的模块。 这些符号包括没有符号的模块以及符号状态为 C、T、#、M 或 Export 的模块。 有关这些表示法的详细信息,请参阅 符号状态缩写

c

显示校验和数据。

1 分钟

减少输出,以便除了模块名称外,不会包含任何内容。 如果使用 .foreach 令牌将命令输出通过管道传递到另一个命令的输入,则此选项非常有用。

sm

按模块名称而不是按起始地址对显示进行排序。

此外,只能包含以下选项之一。 如果不包含这些选项中的任何一个,则显示内容包括符号文件名。

i

显示图像文件名。

f
显示完整的图像路径。 (此路径始终与初始加载通知中显示的路径匹配,除非发出 了 .reload -s command.) 使用 f 时,不会显示符号类型信息。

n

显示映像名称。 使用 n 时,不会显示符号类型信息。

p
显示映射的图像名称。 使用 p 时,不会显示符号类型信息。

t

显示文件时间戳。 使用 t 时,不会显示符号类型信息。

地址

指定此模块中包含的地址。 仅显示包含此地址的模块。 如果 Address 包含表达式,则必须将其括在括号中。

m 模式

指定模块名称必须匹配的模式。 模式可以包含各种通配符和说明符。 有关此信息的语法的详细信息,请参阅 字符串通配符语法

在大多数情况下,模块名称是没有文件扩展名的文件名。 例如,如果要显示有关 Flpydisk.sys 驱动程序的信息,请使用 lm mflpydisk 命令,而不是 lm mflpydisk.sys。 在某些情况下,模块名称与文件名明显不同。

M 模式

指定映像路径必须匹配的模式。 模式可以包含各种通配符和说明符。 有关此信息的语法的详细信息,请参阅 字符串通配符语法

环境

说明
模式 用户模式、内核模式
目标 实时、故障转储
平台 全部

注解

lm 命令列出所有模块以及每个模块的符号状态。

Windows 维护用户模式进程的已卸载模块列表。 调试用户模式进程或转储文件时, lm 命令还会显示这些卸载的模块。

显示的模块取决于调试方式,例如用户或内核模式,以及正在查看的特定上下文。 有关进程上下文和其他上下文设置的详细信息,请参阅更改上下文和控制进程和线程

此命令显示多个列或字段,每个列或字段都有不同的标题。 其中一些标题具有特定含义:

  • 模块名称 通常是不带文件扩展名的文件名。 在某些情况下,模块名称与文件名明显不同。

  • 符号类型紧跟模块名称。 此列未标记。 有关各种状态值的详细信息,请参阅 符号状态缩写。 如果已加载符号,符号文件名将在此列后面。

  • 模块中的第一个地址显示为 start。 模块末尾后的第一个地址显示为结尾。 例如,如果 start 为“faab4000”,end 为“faab8000”,则模块从 0xFAAB4000 扩展到0xFAAB7FFF(含)。

  • 仅限 lmv:图像路径列显示可执行文件的名称,包括文件扩展名。 通常,完整路径包含在用户模式中,但不包含在内核模式下。

  • 仅限 lmv:除非存在 Microsoft CodeView 符号,否则加载的符号图像文件值与图像名称相同。

  • 仅限 lmv:通常不使用映射的内存图像文件值。 例如,如果调试器 (映射图像文件,则在小型转储调试) 期间,此值是映射图像的名称。

下面的代码示例演示使用 m 和 s* 选项的 lm 命令,因此仅显示以“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)

另请参阅