长沙电脑维修-长沙电脑上门维修-笔记本维修-上门修显示器
滚动新闻:
  网站首页     维修业界     网络安全     硬件故障     软件故障     系统故障     硬件维修     系统安装     驱动下载     维修信息  
欢迎来到长沙电脑维修网,一个电话上门维修电脑 13347311093 0731-82917806 您的满意是我们进步的动力! 请您留言|设为首页|加入收藏
长沙电脑上门维修
您当前位置:网站首页 >> 硬件故障 >> 内存故障 >> 正文阅读

用WinDbg排除“内存溢出”故障


来源:长沙电脑维修 发布时间:2010-09-28 20:19:25 查看次数:

长沙监控安装

从这个结果可初步查看哪些对象太多,占用内存过大。如结果中的:System.Collections.ArrayList System.Object[]。当然,System.String最多,不过从经验看,每个程序这个对象都是最多的。从一个侧面,这告戒我们,在进行字符串连接运算时,最好不要用 String + String ……,而要习惯地用StringBuilder对象。有兴趣的同事可以自己用代码测测。如果要测试的话,还告诉你一个命令:!dumpheap -mt 790f9244-strings,会看得更清楚。

0:007> !dumpheap -mt 7910234c

Address       MT     Size

011412d0 7910234c       24    

01141334 7910234c       24    

01141630 7910234c       24    

01141fb0 7910234c       24   

……

0117f834 7910234c       24    

total 389 objects

Statistics:

      MT    Count    TotalSize Class Name

7910234c      389         9336 System.Collections.ArrayList

Total 389 objects

这就可以查看每个对象的“老家”了,当然这些对象中大部份是“良民”,要辩别出谁是“魔鬼”,还得用下面的手段。

0:007> !do 011412d0

Name: System.Collections.ArrayList

MethodTable: 7910234c

EEClass: 791022a0

Size: 24(0x18) bytes

(C:"WINDOWS"assembly"GAC_32"mscorlib"2.0.0.0__b77a5c561934e089"mscorlib.dll)

Fields:

MT        Field        Offset      Type VT        Attr    Value Name

7912254c 40008c6        4      System.Object[] 0 instance 011412e8 _items

790fdb60 40008c7        c      System.Int32      0 instance        2 _size

790fdb60 40008c8       10      System.Int32      0 instance        2 _version

790f8a7c 40008c9        8        System.Object    0 instance 00000000 _syncRoot

7912254c 40008ca      1b4      System.Object[]    0   shared   static emptyArray

    >> Domain:Value 0014e8d8:01131dec <<

可以看到这对象是一个ArrayList,其大小为2,具体的值保存在地址011412e8中,是一个System.Object[]类型的数组

这儿插一下,因为我今天运气好,选到一个数组对象作为例子。所以,我们就顺势再介绍两个步骤:以查看数据组中元素的值。

·上一条:有关内存不能为Read的原因总结与排除
·下一条:怎样正确购买笔记本内存
相关文章
·电脑内存芯片出现问题 2010-10-25 21:10:37
·内存双通道频繁死机故障 2010-05-30 03:06:31
·一代和二代内存的区别和识别 2010-05-27 00:26:33
·怎样正确购买笔记本内存 2010-09-27 11:06:08
·联想一体机内存坏导致电脑不定时蓝屏 2012-07-11 00:02:54
·电脑碰一下主机就黑屏之内存 2012-01-21 13:04:39
·1333内存和1600内存的区别是什么 2013-08-06 02:55:30
·安装XP系统的电脑最大支持多大内存? 2012-06-10 01:46:26
文章评论
现在有0人对本文发表评论 查看所有评论
同行交流
电脑维修公司
宇翔电脑维修
  最新文章
·退出游戏后,内存占用率还是很高的问题
·1333内存和1600内存的区别是什么
·电脑用4G内存老蓝屏怎么办
·内存条故障产生的原因分类
·内存损坏的电脑故障各种类型
·内存兼容性故障的处理方法分析
·内存损坏后的几种直接表现
·电脑装系统总是出错 显示XP滚动条后后黑屏
·联想一体机内存坏导致电脑不定时蓝屏
·内存条故障导致电脑开不了机(实例)
·安装XP系统的电脑最大支持多大内存?
·增加一条内存后电脑经常出现蓝屏现象
·内存容量不能全部被识别对电脑有影响吗
·系统无法识别4GB内存/4GB内存变3GB内存
·电脑碰一下主机就黑屏之内存
苹果双系统安装
  热门文章
·安装XP系统的电脑最大支持多大内存?
·用WinDbg排除“内存溢出”故障
·内存条分类
·电脑用4G内存老蓝屏怎么办
·电脑碰一下主机就黑屏之内存
·一代和二代内存的区别和识别
·电脑装系统总是出错 显示XP滚动条后后黑屏
·联想一体机内存坏导致电脑不定时蓝屏
·电脑开机黑屏之内存不兼容
·退出游戏后,内存占用率还是很高的问题
·1333内存和1600内存的区别是什么
·多根内存条混插问题的处理办法
·怎么看电脑内存:型号,大小
·内存条故障导致电脑开不了机(实例)
·电脑图像重影原来系内存故障
关于我们 | 公司介绍 | 维修报价 | 免责声明 | 阅读须知 | 内容目录 | 湘ICP备16016646号-1
联系邮箱:270024428@qq.com 联系QQ:270024428
Copyright 2019, 长沙电脑维修网版权所有.