zoukankan      html  css  js  c++  java
  • WINDBUG常用命令

    配置:

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

    载入sos.dll  执行.load C:WindowsMicrosoft.NETFrameworkv4.0.30319sos.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 

  • 相关阅读:
    从今天起,我要在博客园装13了,听说这里装的好可以得高薪
    HTML5 选择前置摄像头,选择后置摄像头
    canvas图片base64编码后,ajax提交到后台
    238. Product of Array Except Self
    230. Kth Smallest Element in a BST
    229. Majority Element II
    228. Summary Ranges
    227. Basic Calculator II
    223. Rectangle Area
    222. Count Complete Tree Nodes
  • 原文地址:https://www.cnblogs.com/kissfu/p/3890190.html
Copyright © 2011-2022 走看看