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

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


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

长沙监控安装

二、正文

(一)WinDbg初始化

1.下载最新的Windbg,安装在被测机上。
2.打开Windbg,在File->Symbol File Path 窗口中输入

C:\WINDOWS\Symbols;d:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\symbols;.sympath SRV*d:\localsymbols*http://msdl.microsoft.com/download/symbols

否则可能会出现如下错误信息:
*** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\WINDOWS\system32\ntdll.dll
当然这时,输入 .load C:\WINDOWS\system32\ntdll.dll 命令也可解决。
3.运行需要调试的程序,在Windbg中File->Attach to Process中选择刚才运行的程序。如果是分析Dump文件则打开相应文件。
4.在出现的Command窗口中输入命令

.load C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\sos.dll

否则可能会出现如下错误信息:
No export dumpobj found
好,一切准备就绪,下面正式开始“抓鬼” 。

(二)用WinDbg hang模式,查找“内存溢出”的元凶

一般进行以下四个步骤:

1!dumpheap –stat查看此进程所有对象的数量及所占内存大小;

2、试着筛选出某类比较多的对象,用!dumpheap -mt (地址)去找找几个对象的地址;

3、用!do (地址)命令查看对象的状态,属性的值等,看看能否发现一些端倪;

4、用!gcroot -nostacks (地址)查看对象的根正常不正常,如果有些对象的根不是自己预先设计的那样,很可能被自己没想到的对象强引用了,所以GC无法回收它,就泄漏了。

如果分析Dump文件,那之前Dump文件时用以下相似命令:

adplus.vbs -hang -p XXXX.exe-o d:"dump

下面预览一下运行这几个命令的结果,并作简要分析

0:007> !dumpheap -stat

此命令结果是按TotalSize(对象内存占用大小)排序的

total 11376 objects

Statistics:

      MT    Count    TotalSize Class Name

7a79375c        1           12 System.Diagnostics.EventLogEntryType

7a78cd28        1           12 System.Net.Configuration.ProxyElement+AutoDetectValues

00db6aa0        1           12 Zte.EasyB.Common.KeyLockObj

00db5210        1           12 Zte.EasyB.Common.AlarmAgentConfigurationSectionHandler

00db50d8        1           12 Zte.EasyB.Common.NullAlarmAgent

……

7910234c      389         9336 System.Collections.ArrayList

790fd8b4      167         9352 System.Collections.Hashtable

79122610      170        29496 System.Collections.Hashtable+bucket[]

7912254c      851        54848 System.Object[]

00154c50       13       368000      Free

790f9244     6218       374644 System.String

Total 11376 objects

·上一条:有关内存不能为Read的原因总结与排除
·下一条:怎样正确购买笔记本内存
相关文章
·主板插上内存(DDR2 800)无法开机原因 2012-01-20 11:37:40
·笔记本经常蓝屏且C盘文件丢失/安装软件经常无法运行之内存 2012-01-09 10:00:46
·多根内存条混插问题的处理办法 2010-05-08 11:23:03
·电脑死机 之混插内存原因 2011-06-01 22:12:30
·内存条故障、对策及其芯片拆焊技巧 2010-06-22 01:40:15
·如何解决主板变形导致的问题 2011-09-05 13:06:05
·内存条故障产生的原因分类 2013-03-03 03:01:31
·让内存与CPU同步运行的方法 2010-05-04 16:56:20
文章评论
现在有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, 长沙电脑维修网版权所有.