.load、.loadby(加载扩展 DLL)

.load.loadby 命令将新的扩展 DLL 加载到调试器中。

.load DLLName  
!DLLName.load 
.loadby DLLName ModuleName

参数

DLLName
指定要加载的调试器扩展 DLL。 如果使用 .load 命令,DLLName 应包含完整路径。 如果使用 .loadby 命令,DLLName 应仅包含文件名。

ModuleName
指定与 DLLName 指定的扩展 DLL 位于同一目录中的模块的模块名称。

环境

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

其他信息

有关如何加载、卸载和控制扩展的详细信息,请参阅加载调试器扩展 DLL

注解

使用 .load 命令时,必须指定完整路径。

使用 .loadby 命令时,不需要指定路径。 相反,调试器会查找 ModuleName 参数指定的模块,确定该模块的路径,然后在调试器加载扩展 DLL 时使用该路径。 如果调试器找不到模块或找不到扩展 DLL,则会收到一条指明问题的错误消息。 指定的模块和扩展 DLL 之间不必有任何关系。 因此, .loadby 命令只是避免键入长路径的一种方法。

完成 .load.loadby 命令后,可以访问存储在已加载扩展中的命令。

若要加载扩展 DLL,可以执行以下操作之一:

  • 使用 .load.loadby 命令。

  • 通过发出完整 !DLLName.ExtensionCommand 语法来执行扩展。 如果调试器尚未加载 DLLName.dll,则当 DLL 位于当前 DLL 搜索路径中时,它将加载该 DLL。

使用 .chain 命令显示有关已加载的内容和当前 DLL 搜索路径的信息。

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

例如,托管代码 SOS.dll 不在上面所示 DLL 的搜索路径中;因此,请使用具有完整路径的 .load 命令加载该 DLL。

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