.load, .loadby (Load Extension DLL)

Die Befehle .load und .loadby laden eine neue Erweiterungs-DLL in den Debugger.

.load DLLName  
!DLLName.load 
.loadby DLLName ModuleName

Parameter

DLLName
Gibt die zu ladende Debugger-Erweiterungs-DLL an. Wenn Sie den Befehl .load verwenden, sollte DLLName den vollständigen Pfad enthalten. Wenn Sie den Befehl .loadby verwenden, sollte DLLName nur den Dateinamen enthalten.

ModuleName
Gibt den Modulnamen eines Moduls an, das sich in demselben Verzeichnis befindet wie die DLL-Erweiterung, die DLLName angibt.

Umgebung

Element Beschreibung
Modi Benutzermodus, Kernel-Modus
Ziele Live, Crash Dump
Plattformen Alle

Zusätzliche Informationen

Weitere Informationen über das Laden, Entladen und Steuern von Erweiterungen finden Sie unter Laden von Debugger-Erweiterungs-DLLs.

Hinweise

Wenn Sie den Befehl .load verwenden, müssen Sie den vollständigen Pfad angeben.

Wenn Sie den Befehl .loadby verwenden, geben Sie den Pfad nicht an. Stattdessen findet der Debugger das Modul, das der Parameter ModuleName angibt, bestimmt den Pfad dieses Moduls und verwendet dann diesen Pfad, wenn der Debugger die Erweiterungs-DLL lädt. Wenn der Debugger das Modul oder die Erweiterungs-DLL nicht finden kann, erhalten Sie eine Fehlermeldung, in der das Problem beschrieben wird. Es muss keine Beziehung zwischen dem angegebenen Modul und der Erweiterungs-DLL bestehen. Die Verwendung des Befehls .loadby ist daher lediglich eine Möglichkeit, die Eingabe eines langen Pfades zu vermeiden.

Nachdem der Befehl .load oder .loadby ausgeführt wurde, können Sie auf die Befehle zugreifen, die in der geladenen Erweiterung gespeichert sind.

Um eine Erweiterungs-DLL zu laden, können Sie eine der folgenden Möglichkeiten nutzen:

  • Verwenden Sie den Befehl .load oder .loadby.

  • Führen Sie eine Erweiterung aus, indem Sie die vollständige Syntax !DLLName.ExtensionCommand eingeben. Wenn der Debugger DLLName.dll noch nicht geladen hat, lädt er die DLL an dieser Stelle, wenn sie sich im aktuellen DLL-Suchpfad befindet.

Verwenden Sie den Befehl .chain, um Informationen über die geladenen Dateien und den aktuellen DLL-Suchpfad anzuzeigen.

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

Der verwaltete Code SOS.dll befindet sich beispielsweise nicht im oben gezeigten Suchpfad für DLLs, so dass Sie den Befehl .load mit einem vollständigen Pfad verwenden müssen, um diese DLL zu laden.

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