从Windows Server 2008和Windows Vista SP1开始,我们可以配置WIndows Error Reporting (WER)以便普通应用程序崩溃时,我们可以本地收集和存储用户态Dump文件。普通应用程序,包括.Net应用程序,如果它们有自己的错误报告机制,不被此特征支持。
此特征缺省是被禁用的,启用它需要管理员权限。为了启用它,可以定位到如下注册表键下:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps
值 | 描述 | 类型 | 缺省值 |
DumpFolder | Dump文件保存路径.请确保对你设置的路径, 进程拥有写权限. | REG_EXPAND_SZ | %LOCALAPPDATA%\CrashDumps |
DumpCount | 该路径下的最大Dump文件数. | REG_DWORD | 10 |
DumpType |
| REG_DWORD | 1 |
CustomDumpFlags | 此选项只有当DumpType为0时适用,选项值为MINIDUMP_TYPE的按位或. | REG_DWORD | MiniDumpWithDataSegs | MiniDumpWithUnloadedModules | MiniDumpWithProcessThreadDa |
这些注册表选项代表全局设定值.你也可以提供每应用程序特定的选项来覆盖全局设定.为了达到这个目标,你可以在注册表键HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Windows Error Reporting\LocalDumps下以你的应用程序为名创建子键(例如,HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Windows Error Reporting\LocalDumps\MyApplication.exe).在这个子键下加入你特定的设置.WER将首先读取全局设定,然后用你应用程序相关的设定覆盖某些全局设置.