LocalDumps注册表项停止工作(Windows错误报告)

Sol*_*low 5 windows crash-dumps windows-error-reporting

如MSDN所述,我设置了注册表项HKLM \ SOFTWARE \ Microsoft \ Windows \ Windows错误报告\ LocalDumps 。

我有一个测试程序-一个用Visual C ++编译的控制台程序,该程序尝试在打印消息并退出之前取消引用NULL指针。该测试程序曾经用于退出和转储核心文件,但现在它刚刚退出。我没有核心。

我在物理硬件上运行Windows Server 2008 R2 Enterprise SP1。

我不知道发生了什么变化。有什么变化可以阻止WER现在转储内核?

Tho*_*ler 7

以下可能会出错:

写入文件夹的权限

C:\ProgramData\Microsoft\Windows\WER查看其拥有的文件夹的权限

  • 读取并执行
  • 列出文件夹内容

创建子文件夹LocalDumps将继承权限。

因此,您应该修改该文件夹的权限或使用具有写入权限的其他文件夹。

注册表项的权限

如果权限不允许,Windows 可能无法读取注册表设置。例如,以下(非常愚蠢)权限也将阻止 LocalDump:

本地转储权限

32 位与 64 位

Windows 错误报告由 Windows 执行,并且仅使用具有操作系统位数的注册表项。你说你两个都设置了。如果这是真的,那很好。如果您只设置 32 位注册表项,则不起作用。

调试工具

如果您有 AeDebug 设置HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug,这些设置将在 WER 之前执行。

请注意,此条目可能存在于 32 位 (WOW6432Node) 和 64 位中。

通常这会导致启动调试器,但谁知道呢……它可能什么也不做,只是退出。

本地转储已禁用

确保不存在Disabled值为1in的 DWORDHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps

使用 REG_SZ 代替 REG_EXPAND_SZ

我见过有人将 REG_SZDumpFolder%APPDATA%. 只有 REG_EXPAND_SZ 会扩展环境变量。