lm (listar módulos carregados)
O comando lm exibe os módulos carregados especificados. A saída inclui o status e o caminho do módulo.
lm Options [a Address] [m Pattern | M Pattern]
Opções
Qualquer combinação das seguintes opções:
D
Exibe a saída usando a Linguagem de Marcação do Depurador.
o
Exibe apenas módulos carregados.
l
Exibe apenas módulos cujas informações de símbolo foram carregadas.
v
Faz com que a exibição seja detalhada. A exibição inclui o nome do arquivo de símbolo, o nome do arquivo de imagem, informações de soma de verificação, informações de versão, carimbos de data, carimbos de data e hora e informações sobre se o módulo é CLR (código gerenciado). Essas informações não serão exibidas se os cabeçalhos relevantes estiverem ausentes ou paginados.
u
(Somente modo kernel) Exibe apenas informações de símbolo do modo de usuário.
k
(Somente modo kernel) Exibe apenas informações de símbolo do modo kernel.
e
Exibe apenas módulos que têm um problema de símbolo. Esses símbolos incluem módulos que não têm símbolos e módulos cujo símbolo status é C, T, #, M ou Export. Para obter mais informações sobre essas notações, consulte Abreviações de status de símbolo.
c
Exibe dados de soma de verificação.
1m
Reduz a saída para que nada seja incluído, exceto os nomes dos módulos. Essa opção será útil se você estiver usando o token .foreach para redirecionar a saída do comando para a entrada de outro comando.
sm
Classifica a exibição pelo nome do módulo em vez de pelo endereço inicial.
Além disso, você pode incluir apenas uma das opções a seguir. Se você não incluir nenhuma dessas opções, a exibição incluirá o nome do arquivo de símbolo.
i
Exibe o nome do arquivo de imagem.
f
Exibe o caminho completo da imagem. (Esse caminho sempre corresponde ao caminho exibido na notificação de carga inicial, a menos que você tenha emitido um comando .reload -s .) Quando você usa f, as informações de tipo de símbolo não são exibidas.
n
Exibe o nome da imagem. Quando você usa n, as informações de tipo de símbolo não são exibidas.
p
Exibe o nome da imagem mapeada. Quando você usa p, as informações de tipo de símbolo não são exibidas.
t
Exibe os carimbos de data/hora do arquivo. Quando você usa t, as informações de tipo de símbolo não são exibidas.
um endereço
Especifica um endereço contido neste módulo. Somente o módulo que contém esse endereço é exibido. Se Address contiver uma expressão, ele deverá ser colocado entre parênteses.
padrão m
Especifica um padrão que o nome do módulo deve corresponder. O padrão pode conter uma variedade de caracteres curinga e especificadores. Para obter mais informações sobre a sintaxe dessas informações, consulte Sintaxe curinga de cadeia de caracteres.
Na maioria dos casos, o nome do módulo é o nome do arquivo sem a extensão de nome de arquivo. Por exemplo, se você quiser exibir informações sobre o driver Flpydisk.sys, use o comando lm mflpydisk, não lm mflpydisk.sys. Em alguns casos, o nome do módulo difere significativamente do nome do arquivo.
Padrão M
Especifica um padrão que o caminho da imagem deve corresponder. O padrão pode conter uma variedade de caracteres curinga e especificadores. Para obter mais informações sobre a sintaxe dessas informações, consulte Sintaxe curinga de cadeia de caracteres.
Item | Descrição |
---|---|
Modos | Modo de usuário, modo kernel |
Destinos | Ao vivo, despejo de memória |
Plataformas | Tudo |
O comando lm lista todos os módulos e a status de símbolos para cada módulo.
O Windows mantém uma lista de módulos descarregados para processos de modo de usuário. Quando você está depurando um processo de modo de usuário ou arquivo de despejo, o comando lm também mostra esses módulos descarregados.
Os módulos exibidos dependem de como você está depurando, por exemplo, o modo de usuário ou kernel e o contexto específico que você está examinando. Para obter mais informações sobre o contexto do processo e outras configurações de contexto, consulte Alterando contextos e controlando processos e threads.
Esse comando mostra várias colunas ou campos, cada um com um título diferente. Alguns desses títulos têm significados específicos:
O nome do módulo normalmente é o nome do arquivo sem a extensão de nome de arquivo. Em alguns casos, o nome do módulo difere significativamente do nome do arquivo.
O tipo de símbolo segue imediatamente o nome do módulo. Esta coluna não está rotulada. Para obter mais informações sobre os vários valores de status, consulte Abreviações de status de símbolo. Se você tiver carregado símbolos, o nome do arquivo de símbolo seguirá esta coluna.
O primeiro endereço no módulo é mostrado como início. O primeiro endereço após o final do módulo é mostrado como final. Por exemplo, se start for "faab4000" e end for "faab8000", o módulo se estenderá de 0xFAAB4000 para 0xFAAB7FFF, inclusive.
Somente lmv : a coluna de caminho da imagem mostra o nome do arquivo executável, incluindo a extensão de nome de arquivo. Normalmente, o caminho completo é incluído no modo de usuário, mas não no modo kernel.
Somente lmv : o valor do arquivo de imagem de símbolo carregado é o mesmo que o nome da imagem, a menos que os símbolos do Microsoft CodeView estejam presentes.
Somente lmv : o valor do arquivo de imagem de memória mapeada normalmente não é usado. Se o depurador estiver mapeando um arquivo de imagem (por exemplo, durante a depuração de minidespejo), esse valor será o nome da imagem mapeada.
O exemplo de código a seguir mostra o comando lm usando as opções m e s*, portanto, somente os módulos que começam com "s" são exibidos.
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
Os dois exemplos a seguir mostram o comando lm uma vez sem nenhuma opção e uma vez com a opção sm. Compare a ordem de classificação nos dois exemplos.
Exemplo 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
Exemplo 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)