.NET应用程序调试—原理、工具、方法(8)

来源:未知 责任编辑:责任编辑 发表时间:2015-05-17 16:44 点击:

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

0:000> .loadby sos.dll clrjit

使用.loadby 命令很容易的就可以加载SOS扩展,而不需要自己去判断当前程序是.NET什么版本的。

5.3.调试的三种命令类型(标准命令、元命令、扩展命令)

在使用调试器调试程序时,所要使用的命令主要分为三类。

第一类是标准命令,就是不带任何符号开始的命令,比如:pb、lmvm。这一类命令是所有Windows调试工具箱中的调试工具通用的,不管你是使用ntsd还是winDbg都可以。

第二类命令是元命令,就是使用"."号开始的命令,这一类命令并不是在所有调试工具中通用的。第三类是扩展命令,扩展命令就是各个调试器扩展出来的命令,也就是以"!"开始的命令,如:!dumpheap -stat,!dumpstatcobjects。

6.调试扩展的几个比较常用的命令(SOS.DLL、SOSEX.DLL)

当然这个纯粹是我的个人感觉,排名不分先后。

!dumpheap -stat (查看托管堆统计信息)

0:000> !dumpheap -stat
Statistics:
     MT    Count     TotalSize Class Name

65366e78        1           12 System.Collections.Generic.EnumEqualityComparer`1[[System.Web.Compilation.FolderLevelBuildProviderAppliesTo, System.Web]]
653667cc        1           12 System.Collections.Generic.ObjectEqualityComparer`1[[System.Web.WebSockets.IAsyncAbortableWebSocket, System.Web]]
65365f08        1           12 System.Lazy`1+Boxed[[System.Web.Security.Cryptography.AspNetCryptoServiceProvider, System.Web]]
65365a34        1           12 System.Web.Security.Cryptography.HomogenizingCryptoServiceWrapper
65361e20         1           12 System.Web.Configuration.CustomErrorsMode
 


!dumpheap -type  (查看某个类型在堆中的信息) 

0:000> !dumpheap -type System.String
Address       MT     Size
10731228 624aacc0       14    
107312c4 624aacc0       22    
107312dc 624aacc0       78    
10731370 624aacc0       28     

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • 用C#制作屏幕捕获程序
  • 遍历ArrayList易犯错误
  • 使用C#编写LED样式时钟控件
  • C#对XML操作:一个处理XML文件的类(1)
  • 怎样用C#实现完整文档打印功能
  • DataList嵌套问题 如何删除内层子DataList的记录
  • 使用c#+(datagrid控件)编辑xml文件
  • C#生成CHM文件(应用篇)之代码库编辑器(5)【总结、程序、源代码】
  • .NET简谈自定义事务资源管理器
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索 - 移动版 - 返回顶部
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1