ProcDump抓取故障dump

作者:Chdon 发布时间: 2025-08-29 阅读量:21 评论数:0

传统dump文件抓取方式比较呆板,无法根据程序运行情况,快准狠地抓取dump。

这里推荐微软开发的procdump ,下载地址为https://learn.microsoft.com/zh-cn/sysinternals/downloads/procdump

一、如何抓CPU爆高dump

procdump 20548 -ma -c 70 -s 5 -n 2 -o D:\testdump\

当进程 CPU>70% 时连续间隔超过 5s ,自动抓两个dump 。

  • 20548 -> 进程ID

  • -ma -> FullDump,为了减少痛苦,必须用这个

  • -c 70 -> CPU >70% 时开始抓取,你可以设置 大一点。

  • -s 5 -> 连续超过 5s 时

  • -n 2 -> 总计生成2个dump

  • -o xx -> dump保存地

二、如何抓程序卡死dump

procdump 20548 -ma -h -o D:\testdump\

当窗体5s内都没有响应,自动产生dump文件。

三、如何抓程序崩溃dump

procdump -ma -i D:\testdump

这个是将 procdump 注册到 AEDebug 中,当程序崩溃时自动产生dump文件。
也可以借助 Windows Error Reporting 机制生成,参见:https://www.cnblogs.com/huangxincheng/p/14811953.html

四、如何抓程序内存暴涨dump

procdump 20548 -m 4096 -ma -o D:\testdump\

当程序内存超过 4G 的时候自动生成 dump

五、如何抓指定异常dump

procdump 20860 -e 1 -f StackOverflowException -ma -o D:\testdump\

程序中一旦抛出了 StackOverflowException 异常,自动生成dump。

六、更多高级用法

https://learn.microsoft.com/zh-cn/sysinternals/downloads/procdump

评论