使用SOS-在VisualStudio中启用非托管代码调试来支持本机代码调试..doc

使用SOS-在VisualStudio中启用非托管代码调试来支持本机代码调试..doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用SOS-在VisualStudio中启用非托管代码调试来支持本机代码调试.

?? SOS(Son of Strike)扩展调试器可以用来显示CLR数据结构的内容。SOS是作为.net framework的一部分安装的(SOS.dll),位于%windir%\Microsoft.NET\Framework\v*.*.****(版 本号)\目录下。在使用SOS(加载SOS.dll)进行调试的步骤: Step1 在Visual Studio中设置项目属性,以启动托管调试:Visual Studio打开要调试的项目,菜单-项目(Project)-Project属性-调试-启用非托管代码调试,如下图所示: Step2 在代码中设置断点-F5启动调试,运行到断点处; Step3 设置Symbol目录: ??? 如果不设置Symbol目录,运行下面的命令时会提示“PDB symbol for mscorwks.dll not loaded”,这里我们只需要再设置下Symbol目录就行了:菜单-工具-选项-调试-符号,设置如下: Step4 菜单-调试(Debug)-窗口(Windows)-即时(Immediate),在打开的“即时窗口”中输入“!load sos.dll”来加载SOS.dll,如果加载成功,则会提示“已加载扩展%windir%\Microsoft.NET\Framework \v*.*.****(版本号)\sos.dll”; Step5 在“即时窗口”中输入“!help”可以获得调试命令列表(如下),输入!help command 可以获得该命令的详细信息. !help ------------------------------------------------------------------------------- SOS?is?a?debugger?extension?DLL?designed?to?aid?in?the?debugging?of?managed programs.?Functions?are?listed?by?category,?then?roughly?in?order?of importance.?Shortcut?names?for?popular?functions?are?listed?in?parenthesis. Type?!help?functionname?for?detailed?info?on?that?function.? Object?Inspection??????????????????Examining?code?and?stacks -----------------------------??????----------------------------- DumpObj?(do)???????????????????????Threads DumpArray?(da)?????????????????????CLRStack DumpStackObjects?(dso)?????????????IP2MD DumpHeap???????????????????????????U DumpVC?????????????????????????????DumpStack GCRoot?????????????????????????????EEStack ObjSize????????????????????????????GCInfo FinalizeQueue??????????????????????EHInfo PrintException?(pe)????????????????COMState TraverseHeap???????????????????????BPMD? Examining?CLR?data?structures??????Diagnostic?Utilities -----------------------------??????----------------------------- DumpDomain?????????????????????????VerifyHeap EEHeap?????????????????????????????DumpLog Name2EE????????????????????????????FindAppDomain SyncBlk????????????????????????????SaveModule DumpMT?????????????????????????????GCHandles DumpClass??????????????????????????GCHandleLeaks DumpMD?????????????????

文档评论(0)

gangshou + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档