WinDbg常用命令系列---.cordll (控制CLR调试)
.cordll (控制CLR调试)
简介
.cordell命令控制托管代码调试和Microsoft.NET公共语言运行库(CLR)。
使用形式
.cordll[Options]
参数
- Options
使用以下一个或多个以下选项:- -l (小写的 L)
加载 CLR 调试模块。
- -IModule (大写的 i)
指定的名称或要进行调试的 CLR 模块的基址。
- -u
卸载 CLR 调试模块。
- -e
启用 CLR 调试。
- -d
禁用 CLR 调试。
- -D
禁用 CLR 调试和卸载 CLR 调试模块。
- -N
重新加载 CLR 调试模块。
- -lpPath
指定 CLR 调试模块的目录的路径。
- -se
通过使用 CLR 调试模块的短名称,启用 mscordacwks.dll。
- -sd
禁用使用CLR调试模块的短名称mscordacwks.dll。相反,调试器使用CLR调试模块的长名称mscordacwks_<spec>.dll。如果担心不匹配,禁用短名称使用可以避免使用本地CLR。
- -ve
打开CLR模块加载的详细模式。
- -vd
关闭CLR模块加载的详细模式。
支持环境
模式 |
用户模式下,内核模式 |
目标 |
实时、 崩溃转储 |
平台 |
全部 |
备注
要调试托管应用程序,调试器必须加载与应用程序加载的CLR相对应的数据访问组件(DAC)。但是,在某些情况下,应用程序加载多个CLR。在这种情况下,可以使用I参数指定调试器应加载哪个DAC。CLR的版本2名为Mscorwks.dll,而CLR的版本4名为CLR.dll。下面的示例演示如何指定调试器应加载版本2(mscorwks)的DAC。
.cordll -I mscorwks -lp c:\dacFolder
如果省略I参数,则调试器默认使用版本4。例如,以下两个命令是等效的。
.cordll -lp c:\dacFolder .cordll -I clr -lp c:\dacFolder
Sos.dll是用于调试托管代码的组件。当前版本的Windows调试工具不包括任何版本的sos.dll。内核模式调试中支持.cordell命令。但是,除非调出必要的内存,否则此命令可能无法工作。