.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