windebug
Posted tangyanzhi1111
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windebug相关的知识,希望对你有一定的参考价值。
问题一:WinDBG分X86和X64两个版本
如果你用的是32位的WinDBG,那直接打开就行;你如果用的是64位的版本,那么如果调试64位代码也直接打开,如果调试x86的代码,要使用Wow64下的WinDBG.exe。
问题二:确定SOS和CLR的位置和版本
如果安装了Visual Studio的机器,可以打开VS的命令行,输入where sos.dll命令,可以找到sos.dll的全路径(需要说明的是,找到的不一定是全部的文件)。它的一般位置在C:WindowsMicrosoft.NETFramework?version?SOS.dll。其中Framework?包括Framework和Framework64两个版本;version?包括v2.0.50727,v3.0,v3.5和v4.0.30319等版本。文件确切路径的选择依据要调试程序的版本而定,一般为C:WindowsMicrosoft.NETFrameworkv4.0.30319SOS.dll,CLR为同一目录下的CLR.dll文件。
问题三:加载SOS和CLR
运气好的话,使用命令.load C:WindowsMicrosoft.NETFrameworkv4.0.30319SOS.dll可以加载成功。如果失败,特别是出现The call to LoadLibrary(C:WindowsMicrosoft.NETFrameworkv4.0.30319sos.dll) failed, Win32 error 0n193这样的错误,请确认加载sos.dll的版本是否正确。
此外,加载不出错,并不见得可以直接使用。可以尝试命令.loadby sos clr。如果命令成功,那么测试环境好了。如果出现了“Unable to find module ‘clr‘”这样的错误。请键入g让调试程序运行一会儿,停下来的时候再尝试命令.loadby sos clr,这时一般都会成功。
以上是关于windebug的主要内容,如果未能解决你的问题,请参考以下文章