#171 如何使用ProcDump创建崩溃/挂起进程的转储文件

iconRemoved User在 2020-5-20 下午5:19 编写 ( icon张宏邦在 2020-5-20 下午5:45 更新 <历史> )
  编辑(登录)
  收藏
  响应调查   响应调查

  主题

介绍

ProcDump(procdump.exe),Windows Sysinternals工具。它使您可以在解决Acronis产品问题时可能出现的任何情况下创建进程转储。

(!) Procdump捕获转储文件时,它不会终止正在运行的进程。

操作方法

要使用ProcDump创建转储,请执行以下操作:

  1. 从Windows Sysinternals网站下载ProcDump
  2. 创建一个用于存储转储的文件夹(例如C:\Dumps\);
  3. 解压存档文件并将procdump.exe放入创建的目录中;
  4. 打开Windows命令行:单击开始->运行,然后输入cmd。我们建议以管理员权限运行cmd(右键单击->以管理员身份运行),否则该实用程序可能找不到所需的进程。
  5. 在CMD中,使用cd命令切换到新创建的文件夹:
    cd <路径到文件夹>
    例如:cd C:\Dumps
  6. 根据问题的性质(立即进程崩溃,挂起进程,锁定等),选择要与ProcDump一起使用的选项。请参阅以下最常见的示例:
    A.进程崩溃的情况(例如,刚启动时或者它们随机崩溃)可以通过以下命令普遍处理:
    procdump -e -ma -w <进程名称>
    例如,如果service_process.exe崩溃,该命令将如下所示:
    procdump -e -ma -w service_process.exe
    =>这将执行ProcDump监视进程启动(如果尚未运行),并在遇到未处理的异常并崩溃时立即创建完整的进程内存转储。
    万一您需要捕获多个进程的内存转储,或者您不知道哪个进程将崩溃(例如,自定义库提供时),请使用以下命令-它将捕获所有崩溃的所有内存转储发生:
    procdump -ma -i C:\dumps
    B.如果您需要在当前状态下创建正在运行的进程的转储文件(例如,如果怀疑进程挂起,或者有必要了解该服务为何使用大量资源等),则使用命令更简单:
    procdump -ma -s 3 -n 5 <进程名称>
    (此命令将以5秒的间隔写入3个小型转储;如果需要,请更改数字)
    或使用PID(在运行多个具有相同名称的进程时很有用):
    procdump -ma <process_PID> (其中process_PID是进程标识符)
    例如,如果mms.exe似乎挂起,则可以使用以下命令:
    procdump -ma -s 3-n 5 mms.exe
    或者
    procdump -ma 3255(如果3255是进程标识符)

    (!)参数的完整列表可以在ProcDump 下载页面上找到,也可以通过发出命令procdump /?找到。

  7. 一旦创建了必要的转储,就可以将它们定位在ProcDump所在的同一文件夹中(例如C:\Dumps\);
  8. 将进程转储压缩为.zip文件;
  9. 然后收集最新的系统报告日志。

您还可以设置即时调试(AeDebug Windows选项),以在进程崩溃时自动收集崩溃转储。例如,如果以前的方法不起作用。配置完成后,无论何时发生应用程序崩溃事件,系统都会自动调用procdump,而无需任何用户交互,并且转储文件将被自动写入。另外,系统可以任意次数地重新引导,并且每次重新引导后都无需采取任何其他操作即可恢复对崩溃的监视:
1) 从Windows Sysinternals网站下载ProcDump。选择一个文件夹来放入procdump.ex e,例如 C:\procdump。

您应该选择一个可以保存procdump.exe的文件夹。由于我们将收集转储的方式,因此procdump的路径需要保持不变,如下所述

2) 以管理员身份运行“ cmd”(按Windows键打开开始菜单。键入cmd以搜索命令提示符。按Ctrl + Shift + Enter以管理员身份启动命令提示符)

3)使用procdump.exe将当前目录更改为文件夹。在我们的示例中,它将是:

cd C:\ procdump

4)将procdump注册为AeDebug事后调试器:

procdump.exe -accepteula -ma -i

这将告诉系统,每当任何应用程序崩溃时,不仅是Acronis崩溃,Windows系统还将自动启动procdump并将崩溃进程的内存转储保存到procdump.exe文件夹中。换句话说,procdump仅在发生应用程序崩溃事件时启动,而不必始终运行。

5)上一条命令的文本输出应确认procdump已成功注册:

现在将ProcDump设置为即时(AeDebug)调试器。

如果有错误或警告,请重新启动计算机,并重复从步骤2开始的步骤。

6)等到Acronis应用程序崩溃的问题重现

7)检查存储ProcDump的文件夹(在本示例中为C:\procdump)以查找具有.dmp文件扩展名的文件。

如果存在,请按照支持工程师的指示将它们上传到Acronis FTP服务器

如果没有.dmp文件,则意味着procdump未正确注册,或者有某些原因阻止其生成崩溃内存转储文件。尝试禁用防病毒,然后重复从步骤2开始的过程。

8)在Acronis完成调查,解决问题并确认修复后,请撤消对处理应用程序崩溃的系统设置所做的更改:

以管理员身份运行“ cmd”(按Windows键打开开始菜单。键入 cmd 搜索命令提示符。按 Ctrl + Shift + Enter 以管理员身份启动命令提示符)
使用procdump.exe将当前目录更改为文件夹 。在我们的示例中,它将是:cd C:\procdump

运行以下命令以停止即时调试器模式: procdump.exe -u

原文链接:https://kb.acronis.com/content/27931

 附加文件     - [0]


 添加评论