!dumpheap -stat //检查当前所有托管类型的统计信息

0:000> !dumpheap -stat //检查当前所有托管类型的统计信息
....
00007ffdb9387a98 777101 69462436 System.Char[]
00007ffdb938c988 588917 115563505 System.Byte[]
00007ffdb9389220 1026406 119828936 System.Int32[]
00007ffdb93516a8 663559 128819040 System.Collections.Generic.Dictionary`2+Entry[[System.String, mscorlib],[System.Object, mscorlib]][]
00000218c6c30a80 6436865 197832116 Free
00007ffdae9cc240 23171 273333144 System.Collections.Generic.HashSet`1+Slot[[System.String, mscorlib]][]
00007ffdb9391f28 13885170 333244080 System.Boolean
00007ffd5c24a068 14003455 560138200 Kingdee.BOS.JSON.JSONArray
00007ffdb9386fc0 14373648 1393615400 System.Object[]
00007ffdb9386948 76146065 4000287202 System.String
Total 138435970 objects

  

!dumpheap -mt 00007ffdb9386948 -min 200 //查看mt内容

0:000> !dumpheap -mt 00007ffdb9386948 -min 200 //查看200byte以上的string
Address MT Size
...
0000021bcbaf5158 00007ffdb9386948 1140
0000021d375d1038 00007ffdb9386948 149698
0000021d375f5920 00007ffdb9386948 149698
0000021d3765b138 00007ffdb9386948 149706
0000021d37f739c8 00007ffdb9386948 217120
0000021d37fa8a08 00007ffdb9386948 190162
0000021d38047330 00007ffdb9386948 1224698
0000021d3829d348 00007ffdb9386948 1224698
0000021d386bd678 00007ffdb9386948 2610994
0000021d38bb8500 00007ffdb9386948 2610994 Statistics:
MT Count TotalSize Class Name
00007ffdb9386948 10991 76632628 System.String
Total 10991 objects

  

使用!do命令查看一个对象的内容

0.000> !do 0000021bcbaf5158 //使用!do命令查看一个对象的内容
Name: System.String
MethodTable: 00007ffdb9386948
EEClass: 00007ffdb8c850e0
Size: 1140(0x474) bytes
File: C:\Windows\Microsoft.Net\assembly\GAC_64\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll
String: 5b13710029d012False2052_T_BD_MATERIAL_MATERIAL.FAuxPropertyIdFBaseUnitIdFCategoryIDFChargeIDFCheckIncomingFDefaultVendorFErpClsIDFInvPtyIdFIsAffectPlanFIsAffectPlan1FIsBatchManageFIsComControlFIsEnableFIsEnable1FIsExpParToFlotFIsInventoryFIsPRFIsReturnMaterialFIsSourceControlFIsVmiBusinessFNameFNumberFPlanModeFPurchasePriceUnitIdFPurchaseUnitIdFPurPriceURNomFPurPriceURNumFPurURNomFPurURNumFReceiveAdvanceDaysFReceiveDelayDaysFReceiveMaxScaleFReceiveMinScaleFSalePriceUnitIdFSaleUnitIdFSpecificationFStockIdFStockPlaceIdFStoreUnitIDFTaxTypeFUseOrgId111193
Fields:
MT Field Offset Type VT Attr Value Name
00007ffdb9389288 400026f 8 System.Int32 1 instance 557 m_stringLength
00007ffdb9387b00 4000270 c System.Char 1 instance 35 m_firstChar
00007ffdb9386948 4000274 90 System.String 0 shared static Empty
>> Domain:Value 00000218c6c4d220:NotInit 0000021d52d81840:NotInit <<

  

使用!gcroot 查看一个对象的gc根

0:000> !gcroot 0000021bcbaf5158 //使用!gcroot 查看一个对象的gc根
HandleTable:
00000218c6ff15e8 (pinned handle)
-> 0000021cc75ebe68 System.Object[]
-> 0000021bc7629a10 Kingdee.BOS.Cache.KCacheManagerFactory
-> 0000021bc7629ab8 System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[Kingdee.BOS.Cache.AbstractKCacheManager, Kingdee.BOS]]
-> 0000021c4da6fa48 System.Collections.Generic.Dictionary`2+Entry[[System.String, mscorlib],[Kingdee.BOS.Cache.AbstractKCacheManager, Kingdee.BOS]][]
-> 00000218c83861b8 Kingdee.BOS.Cache.KCacheManager
-> 00000218c8386630 Kingdee.BOS.Cache.ECache.ECacheManager
-> 00000218c83866e8 System.Collections.Concurrent.ConcurrentDictionary`2[[System.String, mscorlib],[System.Collections.Generic.HashSet`1[[System.String, mscorlib]], System.Core]]
-> 0000021bcbae0c70 System.Collections.Concurrent.ConcurrentDictionary`2+Tables[[System.String, mscorlib],[System.Collections.Generic.HashSet`1[[System.String, mscorlib]], System.Core]]
-> 0000021bcbad0128 System.Collections.Concurrent.ConcurrentDictionary`2+Node[[System.String, mscorlib],[System.Collections.Generic.HashSet`1[[System.String, mscorlib]], System.Core]][]
-> 0000021bcbb34bf8 System.Collections.Concurrent.ConcurrentDictionary`2+Node[[System.String, mscorlib],[System.Collections.Generic.HashSet`1[[System.String, mscorlib]], System.Core]]
-> 0000021bcbada790 System.Collections.Concurrent.ConcurrentDictionary`2+Node[[System.String, mscorlib],[System.Collections.Generic.HashSet`1[[System.String, mscorlib]], System.Core]]
-> 0000021a49766460 System.Collections.Generic.HashSet`1[[System.String, mscorlib]]
-> 00000219540976b0 System.Collections.Generic.HashSet`1+Slot[[System.String, mscorlib]][]
-> 0000021bcbaf5158 System.String Found 1 unique roots (run '!GCRoot -all' to see all roots).

  

!DumpObj /d 0000021975972b48 查看一个对象

0:000> !DumpObj /d 0000021975972b48  //查看第一个JSONArray
Name: System.Object[]
MethodTable: 00007ffdb9386fc0
EEClass: 00007ffdb8d4aa00
Size: 88(0x58) bytes
Array: Rank 1, Number of elements 8, Type CLASS (Print Array)
Fields:
None

  

!DumpArray /d 0000021975972b48 查看一个数组

0:000> !DumpArray /d 0000021975972b48
Name: System.Object[]
MethodTable: 00007ffdb9386fc0
EEClass: 00007ffdb8d4aa00
Size: 88(0x58) bytes
Array: Rank 1, Number of elements 8, Type CLASS
Element Methodtable: 00007ffdb9386f28
[0] 0000021975972a08
[1] 0000021975972a70
[2] 0000021975972a40
[3] 0000021ac75e87b8
[4] 0000021975972b10
[5] 0000021975972ba0
[6] null
[7] null
0:000> !DumpObj /d 0000021975972a08
Name: System.String
MethodTable: 00007ffdb9386948
EEClass: 00007ffdb8c850e0
Size: 54(0x36) bytes
File: C:\Windows\Microsoft.Net\assembly\GAC_64\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll
String: 555d8ca25a6261
Fields:7
MT Field Offset Type VT Attr Value Name
00007ffdb9389288 400026f 8 System.Int32 1 instance 14 m_stringLength
00007ffdb9387b00 4000270 c System.Char 1 instance 35 m_firstChar
00007ffdb9386948 4000274 90 System.String 0 shared static Empty
>> Domain:Value 00000218c6c4d220:NotInit 0000021d52d81840:NotInit <<

  

dump net core windbg 内存分析的更多相关文章

  1. dump net core windbg 安装

    安装 1.下载工具windbg 地址:https://www.microsoft.com/zh-cn/p/windbg-preview/9pgjgd53tn86?SilentAuth=1&rt ...

  2. 用Windbg来分析.Net程序的dump

    介绍 1. 什么是Windbg WinDbg是微软发布的一款相当优秀的源码级(source-level)调试工具,可以用于Kernel模式调试和用户模式调试,还可以调试Dump文件. WinDbg是微 ...

  3. java dump 内存分析 elasticsearch Bulk异常引发的Elasticsearch内存泄漏

    Bulk异常引发的Elasticsearch内存泄漏 2018年8月24日更新: 今天放出的6.4版修复了这个问题. 前天公司度假部门一个线上ElasticSearch集群发出报警,有Data Nod ...

  4. dump net core lldb 分析

    原文https://www.cnblogs.com/calvinK/p/9274239.html centos7 lldb 调试netcore应用的内存泄漏和死循环示例(dump文件调试) 写个dem ...

  5. 利用 Memory Dump Diagnostic for Java (MDD4J) 分析内存管理问题

    利用 Memory Dump Diagnostic for Java (MDD4J) 分析内存管理问题(2) 启动和理解 MDD4J[size=1.0625]为了充分理解如何使用 MDD4J,您需要了 ...

  6. .NET内存分析工具-dotMemory

    .NET内存分析工具-dotMemory 1.介绍 官网链接 引言 程序内存占用较大?内存溢出?需要分析生产环境程序怎么办? dotMemory 使您可以分析各种 .NET 和 .NET Core应用 ...

  7. 使用dbghelp生成dump文件以及事后调试分析

    前言 在产品的实际应用环境中,如果我们的程序在客户那里出现了问题,例如程序异常了,而这个时候的现象又不能还原或者很难还原重现,那么只有使用dump文件来保存程序的当前运行信息,例如调用堆栈等,同时使用 ...

  8. 【Android端 APP 内存分析】使用工具进行APP的内存分析

    Android端可以通过adb 命令直接获取内存信息,当然Android studio也提供了对内存的监控分析工具,并且后续可以结合MAT做分析 今天介绍的是通过Android studio和MAT工 ...

  9. 记一次Android内存分析过程

    前言 上周五的时候,祝峰找到我,反映了Android收银台买单结果页内存飙升的问题.我在自己的机器上也试着重现了一下,发现从支付台-微信支付成功并返回后,进入买单结果页的内存会突然增大,导致GC,如图 ...

随机推荐

  1. windows获取管理员权限 操作文件

    1.文件右键属性 2.安全tab 一路 “应用”和“确定”

  2. C#实现图像拖拽以及锚点缩放功能

    本文主要实现C#窗体图像拖拽以及锚点缩放功能 1.新建Windows窗体应用项目,添加一个panel控件,在panel控件上添加picturebox控件 代码如下: using System; usi ...

  3. 在 RPA10.X 运行异常,RPA9 却正常的问题处理

    一.现象 RPA10.X 在一些极少数 win7/win10 环境中一运行就崩溃或无运行结果. 二.原因 出现上述现象已经确定是OPenGL 驱动兼容性造成的. 三.解决方法 方法一 只要把流程的管理 ...

  4. t6_sumdoc

    C:\Users\Administrator\Documents\sumdoc 2019\sumdoc t6 final\sumdoc t615C:\Users\Administrator\Docum ...

  5. 小程序 图表 antv f2 的使用

    官方组件版 https://github.com/antvis/wx-f2/tree/custom-components 官方npm版 https://github.com/antvis/wx-f2 ...

  6. Java8相关底层

    Java8是往并行方向走的.由面向对象到函数式编程. 在支持函数式编程的同时还可以支持面向对象的开发. 在JDK1.8里面,接口里面可以有实现方法的!默认方法,default.实现这个接口. 接口里面 ...

  7. 《Effective Java》第1章 创建和销毁对象

    第1条 用静态工厂方法代替构造器 这个静态工厂,与设计模式中的静态工厂不同,这里的静态工厂方法,替换为“静态方法”比较好理解,主要就是建议编写静态方法来创建对象. 使用静态方法的好处: 1.静态方法有 ...

  8. 【翻译】Flink Table Api & SQL — 性能调优 — 流式聚合

    本文翻译自官网:Streaming Aggregation  https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table ...

  9. phpspreadsheet 中文文档(三) 计算引擎

    2019年10月11日13:59:52 使用PhpSpreadsheet计算引擎 执行公式计算 由于PhpSpreadsheet表示内存中的电子表格,因此它还提供公式计算功能.单元格可以是值类型(包含 ...

  10. java拼接字符串、格式化字符串方式

    1.代码 //+ String arg0 = "Bob"; String arg1 = "Alice"; System.out.println("he ...