zoukankan      html  css  js  c++  java
  • 和我一起作Tess的windbg lab Lab6, MemoryLeak

    原文地址:http://blogs.msdn.com/b/tess/archive/2008/03/17/net-debugging-demos-lab-6-memory-leak.aspx

    操作步骤:

    1、产生压力: tinyget -srv:localhost -uri:/BuggyBits/ProductInfo.aspx?ProductName=Bugspray -threads:50 -loop:20

    2、这个比较有意思,CPU很高,经常100%,内存很少,几十M而已。如果你仔细看taskmgr,会看到有几个csc诡异的出现,忙了一会,又消失了。

    3、抓一个hang的dump,运行!eeheap -gc,看看内存状况:

      GC Heap Size  0x68a0fc(6856956)

      托管内存只用到了6M多,而我的dump是190M,那么,其余的内存被谁用了?

    4、联想到步骤2中的诡异的csc进程,我们需要再检查一下,!eeheap -loader,看看有多少dll在loader heap里面?我这里一共看到了2223个

    5、随便找一个module看看

      0:000> !dumpmodule -mt 06f0ab78
      Name: oghe0kiv, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
      Attributes: PEFile
      Assembly: 07093808
      LoaderHeap: 00000000
      TypeDefToMethodTableMap: 0702f8c4
      TypeRefToMethodTableMap: 0702f8dc
      MethodDefToDescMap: 0702f93c
      FieldDefToDescMap: 0702f9a8
      MemberRefToDescMap: 0702f9d4
      FileReferencesMap: 0702fac4
      AssemblyReferencesMap: 0702fac8
      MetaData start address: 072e09e4 (4184 bytes)

      Types defined in this module

          MT    TypeDef Name
    ------------------------------------------------------------------------------
      06f0b7ac 0x02000002 Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterProduct
      06f0b6fc 0x02000006 Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializerContract

      Types referenced in this module

          MT    TypeRef Name
    ------------------------------------------------------------------------------
      63a28fb0 0x01000001 System.Xml.Serialization.XmlSerializationWriter
      63a295a4 0x01000004 System.Xml.Serialization.XmlSerializerImplementation
      05e60b3c 0x01000005 Product
      05e60bbc 0x01000006 ShippingInfo
      79101fe4 0x01000008 System.Collections.Hashtable
      79106894 0x01000009 System.Type
      790fd0f0 0x0100000f System.Object
      639ff1c4 0x01000013 System.Xml.XmlConvert

    6、看到这里基本清楚了,这就是那个著名的XmlSerializer的问题。可以参考我以前写的blog:http://www.cnblogs.com/juqiang/archive/2008/01/15/1039936.html

    Over

  • 相关阅读:
    开始之旅9.18
    驱动学习
    Extjs TextField扩展
    数据结构经典算法java
    JAVA BeanUtil应用 一个类向另一个类转换
    Extjs timefield
    图片压缩成指定大小
    js正则表达式提取字符串中的数字
    STM32笔记记录2
    #ifdef,#else,#endif,#if用法详解
  • 原文地址:https://www.cnblogs.com/juqiang/p/1766174.html
Copyright © 2011-2022 走看看