• Dump中查看dictionary信息的方法


    In order to dump the contents of a dictionary, you need to start with either the MethodTable or the name of the class, then you can follow the below steps: 

    0:009> !dumpheap –mt 000007feeed0b9c0

    Address MT Size

    000000018003e630 000007feeed0b9c0 80

    000000018008ec10 000007feeed0b9c0 80

    Statistics:

    MT Count TotalSize Class Name

    000007feeed0b9c0 2 160 System.Collections.Generic.Dictionary`2[[System.Guid, mscorlib],[Microsoft.TeamFoundation.Framework.Server.TeamFoundationPerformanceCounters, Microsoft.TeamFoundation.Framework.Server]]

    Total 2 objects

    Note: You can also use -Dumpheap -type System.Collections.Generic.Dictionary`2[[System.Guid, mscorlib],[Microsoft.TeamFoundation.Framework.Server.TeamFoundationPerformanceCounters,Microsoft.TeamFoundation.Framework.Server]]

    0:009> !do 000000018003e630

    Name: System.Collections.Generic.Dictionary`2[[System.Guid, mscorlib],[Microsoft.TeamFoundation.Framework.Server.TeamFoundationPerformanceCounters, Microsoft.TeamFoundation.Framework.Server]]

    MethodTable: 000007feeed0b9c0

    EEClass: 000007fef6368220

    Size: 80(0x50) bytes

    File: C:WindowsMicrosoft.NetassemblyGAC_64mscorlibv4.0_4.0.0.0__b77a5c561934e089mscorlib.dll

    Fields:

    MT Field Offset Type VT Attr Value Name

    000007fef69516e8 4000c5a 8 System.Int32[] 0 instance 000000018003ea90 buckets

    000007fef74448a8 4000c5b 10 …non, mscorlib]][] 0 instance 000000018003eac8 entries

    000007fef6951748 4000c5c 38 System.Int32 1 instance 7 count

    000007fef6951748 4000c5d 3c System.Int32 1 instance 7 version

    000007fef6951748 4000c5e 40 System.Int32 1 instance -1 freeList

    000007fef6951748 4000c5f 44 System.Int32 1 instance 0 freeCount

    000007fef698f1a8 4000c60 18 ….Guid, mscorlib]] 0 instance 000000038000dc90 comparer

    000007fef74bfd40 4000c61 20 …Canon, mscorlib]] 0 instance 0000000000000000 keys

    000007fef74bd380 4000c62 28 …Canon, mscorlib]] 0 instance 000000018206b690 values

    000007fef694ef78 4000c63 30 System.Object 0 instance 0000000000000000 _syncRoot

    0:009> !da 000000018003eac8

    Name: System.Collections.Generic.Dictionary`2+Entry[[System.Guid, mscorlib],[Microsoft.TeamFoundation.Framework.Server.TeamFoundationPerformanceCounters, Microsoft.TeamFoundation.Framework.Server]][]

    MethodTable: 000007fe984b5918

    EEClass: 000007fe984b5870

    Size: 248(0xf8) bytes

    Array: Rank 1, Number of elements 7, Type VALUETYPE

    Element Methodtable: 000007fe984b57d8

    [0] 000000018003ead8

    [1] 000000018003eaf8

    [2] 000000018003eb18

    [3] 000000018003eb38

    [4] 000000018003eb58

    [5] 000000018003eb78

    [6] 000000018003eb98

    0:009> !dumpvc 000007fe984b57d8 000000018003ead8

    Name: System.Collections.Generic.Dictionary`2+Entry[[System.Guid, mscorlib],[Microsoft.TeamFoundation.Framework.Server.TeamFoundationPerformanceCounters, Microsoft.TeamFoundation.Framework.Server]]

    MethodTable: 000007fe984b57d8

    EEClass: 000007fef6368348

    Size: 48(0x30) bytes

    File: C:WindowsMicrosoft.NetassemblyGAC_64mscorlibv4.0_4.0.0.0__b77a5c561934e089mscorlib.dll

    Fields:

    MT Field Offset Type VT Attr Value Name

    000007fef6951748 4000c68 8 System.Int32 1 instance 1348927451 hashCode

    000007fef6951748 4000c69 c System.Int32 1 instance -1 next

    000007fef69497e0 4000c6a 10 System.Guid 1 instance 000000018003eae8 key

    000007fef6953be8 4000c6b 0 System.__Canon 0 instance 000000018003e890 value

    0:009> !do 000000018003e890

    Name: Microsoft.TeamFoundation.Framework.Server.TeamFoundationPerformanceCounters

    MethodTable: 000007feef604a38

    EEClass: 000007feeed727e8

    Size: 64(0x40) bytes

    File: C:Program FilesMicrosoft Team Foundation Server 12.0Application TierTfsJobAgentMicrosoft.TeamFoundation.Framework.Server.dll

    Fields:

    MT Field Offset Type VT Attr Value Name

    000007fef6955a00 4000ec4 8 ….ReaderWriterLock 0 instance 000000018003e8d0 m_serializationObject

    000007fef694e998 4000ec5 10 System.String 0 instance 0000000000000000 m_counterCategoryName

    000007fef4c6e4d0 4000ec6 18 …ounterSetInstance 0 instance 0000000000000000 m_defaultCounterSetInstance

    000007feeecb7a58 4000ec7 20 …ramework.Server]] 0 instance 0000000000000000 m_counterSetInstances

    000007fef4c6e430 4000ec8 28 …ceData.CounterSet 0 instance 0000000000000000 m_counterSet

    000007fef6932398 4000ec9 30 System.Object[] 0 instance 0000000000000000 m_counters

  • 相关阅读:
    shell 知识点
    folder,source folder,package 区别
    meta viewport 理解
    一张图看懂JavaScript中数组的迭代方法:forEach、map、filter、reduce、every、some
    java 报错及解决
    Charles :mac上的手机代理
    关联本地文件夹到github项目
    tomcat 安装
    Refused to display '[url]' in a frame because it set 'X-Frame-Options' to 'Deny'.
    linux 知识点
  • 原文地址:https://www.cnblogs.com/vveiliang/p/6245690.html
Copyright © 2020-2023  润新知