软件故障与性能问题排查案例解析
1. 丢失的崩溃转储文件问题
1.1 问题描述
一位客户向微软支持部门报告,在安装了所有补丁的 Microsoft Word 2010 中出现崩溃问题。支持工程师按照客户提供的步骤,在自己的系统上成功复现了该崩溃,推测这是 Office 软件的一个 bug,需要 Office 团队进行调查和修复。
1.2 初步尝试
工程师认为捕获未处理异常发生时进程的完整内存转储文件,有助于 Office 团队确定问题的根本原因。他使用以下 ProcDump 命令行进行尝试:
procdump -e -ma winword.exe c:\temp\word.dmp然而,多次尝试后发现,尽管每次都会出现崩溃对话框,但 C:\Temp 目录中却没有 ProcDump 生成的转储文件。
1.3 问题分析
工程师意识到,Office 应用套件自身的崩溃处理程序可能拦截了 Word 的二次机会异常,向用户提供了恢复崩溃的对话框,导致 ProcDump 的二次机会处理程序未被调用。因此,要捕获转储文件,必须在首次机会异常时进行。
1.4 进一步操作
为了查看 Word 通常会生成哪些首次机会异常,同时又不捕获转储文件,工程师使用了以下命令行:
procdump.exe -e 1 -f “” winword.exe c:\temp