最近有台公用笔记本经常应用崩溃,应用本身会使用笔记本的独立显卡,从日志看是应用程序调用内存异常,需要抓取应用程序的dump文件。

Windows 应用程序 Dump 抓取通用方案

适用于 任何 Windows 应用程序(不限名称、不限类型),包括:

  • 桌面应用(EXE)

  • 全屏程序 / 游戏

  • GPU 程序(OpenGL / DirectX)

  • 服务进程

  • 卡死但不崩溃的程序

本方案包含两大部分:

  • LocalDumps(系统自动生成 Dump)

  • procdump(微软官方工具,手动/自动抓取 Dump)

均为 不蓝屏 的应用级 Dump 抓取方式。

🟦 方案一:LocalDumps(应用崩溃时自动生成 Dump)

1. 以管理员权限打开注册表

右键 开始菜单 → Windows PowerShell(管理员) 输入:

regedit
2. 注册表路径(通用)
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\<YourApp.exe>

<YourApp.exe> 替换为你的应用程序名称,例如:

LocalDumps\MyApp.exe
LocalDumps\Game.exe
LocalDumps\ServiceHost.exe

LocalDumps<YourApp.exe> 不存在,请手动创建。

3. 推荐配置值(通用)

<YourApp.exe> 项下新建以下值:

值名称 类型 数据 说明
DumpFolder 可扩展字符串值 D:\CrashDumps 推荐放在非系统盘
DumpType DWORD 2 Full Dump(最完整)
DumpCount DWORD 10 最多保留 10 个

若空间有限,可将 DumpType 设为 1(Mini Dump)。

4. 创建 Dump 文件夹并设置权限(非常重要)
  1. 在 D 盘(或 C 盘)创建文件夹:

    CrashDumps
    
  2. 右键 → 属性 → 安全 → 编辑

  3. 添加 Everyone → 勾选 完全控制

若不设置权限,Dump 文件可能无法写入。

5. 重启电脑(必须执行)

LocalDumps 配置在 Win10 上需要重启才能生效。

🟩 方案二:procdump(不蓝屏、可手动/自动抓取 · 强烈推荐)

微软官方 Sysinternals 工具,适用于:

  • 全屏程序

  • 卡死但不崩溃

  • 想立即抓 Dump

  • 想自动等待崩溃

1. 下载 procdump

微软官方: https://learn.microsoft.com/sysinternals/downloads/procdump

2. 自动等待崩溃(通用)

在启动应用程序之前运行:

procdump.exe -e -ma -w <YourApp.exe> D:\CrashDumps

含义:

  • -e:程序崩溃时自动抓 Dump

  • -ma:Full Dump

  • -w:等待进程启动

3. 手动立即抓 Dump(不需要崩溃)

先在任务管理器找到 PID,然后执行:

procdump.exe -ma <PID> D:\CrashDumps

适合:

  • 程序卡死但没崩溃

  • 想立即验证 Dump 是否能生成

4. 优点(通用)
  • 不蓝屏

  • 全屏可用

  • 不依赖 Scroll Lock

  • Dump 质量最高

  • 可自动、可手动

  • 适用于任何应用程序

🟦 方案三:任务管理器创建 Dump(全屏也能用)

适用于:

  • 程序卡死

  • 想快速抓一次 Dump

  • 不想用命令行

步骤
  1. Ctrl + Shift + Esc(强制弹出任务管理器)

  2. 找到 <YourApp.exe>

  3. 右键 → 创建转储文件

Dump 会生成在:

%LOCALAPPDATA%\Temp

最佳实践(通用)

需求 最佳方案
程序崩溃时自动生成 Dump LocalDumps(注册表)
不蓝屏、可手动抓取 procdump(最推荐)
程序卡死但没崩溃 procdump 或任务管理器
全屏运行、无法切出 procdump(提前运行)

🟦 一键导入 LocalDumps(通用 .reg 文件)

保存为 App_Dump.reg → 右键 → 以管理员身份运行:

reg

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\<YourApp.exe>]
"DumpFolder"="D:\\CrashDumps"
"DumpType"=dword:00000002
"DumpCount"=dword:0000000a

<YourApp.exe> 替换为你的应用名称。

🟩 Dump 验证方法(通用)

方法 1:让程序崩溃(LocalDumps 自动生成)

检查:

D:\CrashDumps
方法 2:procdump 手动抓取(不需要崩溃)
procdump.exe -ma <PID> D:\CrashDumps
方法 3:任务管理器创建 Dump
%LOCALAPPDATA%\Temp
Copyright © https://yan-jian.com 2023 - 2026 All Right Reserved all right reserved,powered by Gitbook更新时间: 2026-06-04 19:59:10

results matching ""

    No results matching ""