Windbg分析Dump文件

本文介绍了如何通过下载并使用ProcDump工具捕获Windows系统的高CPU使用率dump文件,以及如何配置和使用WinDbg进行调试。在命令行中,使用ProcDump设置条件触发dump文件生成,然后利用WinDbg加载SOS.DLL并执行相关命令来定位占用CPU资源的线程和方法。通过对这些信息的分析,可以有效排查和解决程序的性能问题。
摘要由CSDN通过智能技术生成

1、下载ProcDump

打开windows命令行cmd,进入到包含procdunmp文件的路径下,对于32位系统打开procdump.exe,64位系统则打开procdump64.exe,执行以下命令

#-ma 抓取full dump
#-c 30代表cpu使用率应该在30%以上
#-s 1 这种情况持续1秒以上
#3 代表最多抓取3个dump文件
#9000代表线程id
procdump64 -ma -c 30 -s 1 -n 3 10728

输出以下内容,不要关闭命令行工具,procDump工具正在执行

2、下载WinDbg 

下载 Windows 调试工具 - WinDbg - Windows drivers | Microsoft Docs

对于电脑上没有microsoft store的用户,可以从 SDK 获取 Windows 调试工具 (WinDbg)

Windows SDK - Windows 应用开发

安装完成后,打开WinDbg工具,可以根据自己的程序选择64位或者32位的

路径:C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\windbg.exe

查看iis中运行的是否是32位还是64位的程序

如果iis的应用程序池的高级设置中“启动32位应用程序”的值为True,那么程序就是32位的,需要打开32位的WinDbg

3、配置WinDbg

配置Symbol File Path

srv*c:\symbols*http://msdl.microsoft.com/download/symbols

配置Source File Path

项目的bin目录(完整路径)

3.打开dump文件

配置SOS.DLL,输入一下命令

load C:\Windows\Microsoft.NET\Framework64\v4.0.30319\SOS.DLL

分析高CPU

按以下顺序执行命令

#查看哪个线程占用cpu时间较长

!runaway

#跳转到对应的线程
~1s

#看看这个线程再干嘛 执行那些方法,优化这些方法
!clrstack

 

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值