配置:

File->Symbol path-> SRV*C:\symbols*http://msdl.microsoft.com/download/symbols

载入sos.dll  执行.load C:\Windows\Microsoft.NET\Framework\v4.0.30319\sos.dll

命令:

1.  !threadpool  查看当前CPU状况 线程数等等

2.  !runaway  查看那几个线程使用的高 建议多抓几个dump 然后确定到底是哪个线程

3.  ~线程IDs 跳转到那个线程

4. !threads查看所有线程。

5. (3后)!clrstack 看看这个线程再干嘛 执行那些方法

6.  !clrstack -p  具体方法的参数值地址

7.  !do 地址  查看参数值

8.  !dso 查看当前线程里有哪些对象

9. !analyze -v 自动分析故障。

10.!heap -s 查看所有堆

11. !heap -stat  -h  004d0000   因发现这个堆里有较大的内存占有量.

12. !heap -flt s 24d58 来查看堆里的内存分配

13. !heap -p -a 722a9b20 就会把调用到DLL的方法显示出来,就是内存泄露的地方

14. !eeheap -gc,通过这个命令可以知道现在垃圾回收堆中数据的基本情况

15. !dumpheap -stat,这个命令是将gc里面的对象一一开列出来,什么类,占了多少空间,因为对于引用对象,对象本身是很小的,关键是引用的对象的判断。所以通过这个我们只能看到是什么占了大空间.

16.!dumpheap -type System.Net.Sockets.SocketAsyncEventArgs

通过这个命令看看System.Net.Sockets.SocketAsyncEventArgs这个对象里面都定义了些什么,都引用了些什么。SOS中定义这个命令的意义是罗列出所有的名字匹配“System.Net.Sockets.SocketAsyncEventArgs”的类所在的内存地址 。

(15后如果我们发现System.Byte[]占用了较多的空间,我们可以推测是什么对象引起的比如System.Net.Sockets.SocketAsyncEventArgs)

17. !objsize 150905e8

18. !dumpobj 02213840

   !do 02213858(注:do的意思就是dumpobj)

19. !dumparray 02213880

WINDBUG常用命令的更多相关文章

  1. Linux 常用命令(持续补充)

    常用命令: command &:将进程放在后台执行 ctrl + z:暂停当前进程 并放入后台 jobs:查看当前后台任务 bg( %id):将任务转为后台执行 fg( %id):将任务调回前 ...

  2. LVM基本介绍与常用命令

    一.LVM介绍LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制LVM - 优点:LVM通常用于装备大量磁盘的系统,但它同样适 ...

  3. Linux学习笔记(一):常用命令

    经过统计Linux中能够识别的命令超过3000种,当然常用的命令就远远没有这么多了,按照我的习惯,我把已经学过的Linux常用命令做了以下几个方面的分割: 1.文件处理命令 2.文件搜索命令 3.帮助 ...

  4. git常用命令(持续更新中)

    git常用命令(持续更新中) 本地仓库操作git int                                 初始化本地仓库git add .                       ...

  5. 【原】npm 常用命令详解

    今年上半年在学习gulp的使用,对npm的掌握是必不可少的,经常到npm官网查询文档让我感到不爽,还不如整理了一些常用的命令到自己博客上,于是根据自己的理解简单翻译过来,终于有点输出,想学习npm这块 ...

  6. npm常用命令

    npm常用命令 环境:win7 npm 是什么 NPM(node package manager),通常称为node包管理器.顾名思义,它的主要功能就是管理node包,包括:安装.卸载.更新.查看.搜 ...

  7. Git 常用命令

    一.初始環境配置 git config --global user.name "John Doe"git config --global user.email johndoe@ex ...

  8. linux iptables常用命令之配置生产环境iptables及优化

    在了解iptables的详细原理之前,我们先来看下如何使用iptables,以终为始,有可能会让你对iptables了解更深 所以接下来我们以配置一个生产环境下的iptables为例来讲讲它的常用命令 ...

  9. Linux常用命令(一)

    Linux常用命令 1. pwd查看当前路径(Print Working Directory)    [root@CentOS ~]# pwd/root 2. cd .. 返回上一级 .. 表示上一级 ...

随机推荐

  1. 如何用 fiddler 调试线上代码

    有时代码上线了,突然就碰到了坑爹的错误.或者有时看别人家线上的代码,对于一个文件想 fork 下来试试效果又不想把全部文件拉到本地,都可以使用 fiddler 的线上调试功能. 比方说我们打开携程的首 ...

  2. C# 7.0 新特性1: 基于Tuple的“多”返回值方法

    本文基于Roslyn项目中的Issue:#347 展开讨论. 1. C# 7.0 新特性1: 基于Tuple的“多”返回值方法 2. C# 7.0 新特性2: 本地方法 3. C# 7.0 新特性3: ...

  3. 架构系列:ASP.NET 项目结构搭建

    我们头开始,从简单的单项目解决方案,逐步添加业务逻辑的约束,从应用逻辑和领域逻辑两方面考虑,从简单的单个项目逐步搭建一个多项目的解决方案.主要内容:(1)搭建应用逻辑和领域逻辑都简单的单项目 (2)为 ...

  4. 记一次ASP.NET网站的入侵和如何避免被入侵

    ASP.NET网站入侵第二波(LeaRun.信息化快速开发框架 已被笔者拿下) 详细介绍请看第二波 首先我要申明的是不是什么语言写出来的程序就不安全,而是得看写代码的人如何去写这个程序 前些日子我去客 ...

  5. PC互联网和移动互联网的本质差别

    网一代,我们先称为PC互联网,这大约可以从2010年作为分界,然后就是基于手机,及可穿戴的移动互联网. 在PC时代,软件都很庞大复杂,甚至客端端和网页混合,比如常见的桌面软件,Office及Photo ...

  6. 高仿Windows Phone QQ登录界面

    给 TextBox文本框前添加图片 扩展PhoneTextBox:添加一个类"ExtentPhoneTextBox"继承 PhoneTextBox ,在"ExtentPh ...

  7. VC维含义

    VC维含义的个人理解 有关于VC维可以在很多机器学习的理论中见到,它是一个重要的概念.在读<神经网络原理>的时候对一个实例不是很明白,通过这段时间观看斯坦福的机器学习公开课及相关补充材料, ...

  8. Feuding Families and Former Friends: Unsupervised Learning for Dynamic Fictional Relationships-Naacl 2016-20160422

    1.Information publication:-Naacl 2016 2.What 根据小说中的人物描述,a)在每个时间段给出,人物关系的描述的概率分布,b)从时间轴上看出关系的变化轨迹,提出模 ...

  9. struts 2.3.14.1 包详解

    1.struts2-convention-plugin-2.3.14.1.jar: @ParentPackage(default-package) @Namespace("/") ...

  10. Linux 使用 iptables屏蔽IP段

    netfilter/iptables IP 信息包过滤系统是一种功能强大的工具,可用于添加.编辑和除去规则,这些规则是在做信息包过滤决定时,防火墙所遵循和组成的规则.这些规则存储在专用的信息包过滤表中 ...