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]

Parâmetros

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.

Ambiente

Item Descrição
Modos Modo de usuário, modo kernel
Destinos Ao vivo, despejo de memória
Plataformas Tudo

Comentários

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

Exemplos

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)

Confira também