Share via


.load, .loadby (DLL de extensão de carga)

Os comandos .load e .loadby carregam uma nova DLL de extensão no depurador.

.load DLLName  
!DLLName.load 
.loadby DLLName ModuleName

Parâmetros

DLLName
Define a DLL de extensão do depurador a ser carregada. Se você usar o comando .load , DLLName deve incluir o caminho completo. Se você usar o comando .loadby , DLLName deve incluir apenas o nome do arquivo.

ModuleName
Define o nome do módulo de um módulo que está localizado no mesmo diretório que a DLL de extensão que DLLName determina.

Ambiente

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

Informações Adicionais

Para ter mais informações sobre como carregar, descarregar e controlar extensões, consulte Carregando DLLs de extensão do depurador.

Comentários

Ao usar o comando .load, você deve determinar o caminho completo.

Ao usar o comando .loadby, você não determina o caminho. Em vez disso, o depurador localiza o módulo que o parâmetro ModuleName determina, especifica o caminho desse módulo e, em seguida, usa esse caminho quando o depurador carrega a DLL de extensão. Se o depurador não conseguir localizar o módulo ou se não conseguir localizar a DLL de extensão, receberá uma mensagem de erro que determina o problema. Não precisa haver nenhuma relação entre o módulo especificado e a DLL de extensão. Usar o comando .loadby é, portanto, simplesmente uma maneira de evitar digitar um caminho longo.

Depois que o comando .load ou .loadby for concluído, você poderá acessar os comandos armazenados na extensão carregada.

Para carregar uma DLL de extensão, você pode executar um dos procedimentos a seguir:

  • Use o comando .load ou .loadby .

  • Execute uma extensão emitindo a sintaxe !DLLName.ExtensionCommand completa. Se o depurador ainda não tiver carregado DLLName.dll, ele carregará a DLL neste ponto se estiver localizado no caminho de pesquisa da DLL atual.

Use o comando .chain para exibir informações sobre o que foi carregado e o caminho de pesquisa da DLL atual.

0:000> .chain
Extension DLL search Path:
    C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\WINXP;C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\winext;C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\winext\arcade;C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\pri;C:\Program Files (x86)\Windows Kits\10\Debuggers\x64;
Extension DLL chain:
    C:\Windows\Microsoft.NET\Framework64\v4.0.30319\SOS.dll: image 4.8.4084.0, API 1.0.0, built Sun Nov 24 00:38:52 2019

Por exemplo, o código gerenciado SOS.dll não está no caminho de pesquisa para DLLs mostrado acima, portanto, use o comando .load com um caminho completo para carregar essa dll.

0:000> .load C:\Windows\Microsoft.NET\Framework64\v4.0.30319\SOS.dll