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

时间:2012-03-02 15:17:08

标签: windows crash-dumps windows-error-reporting

我设置了注册表项HKLM \ SOFTWARE \ Microsoft \ Windows \ Windows错误报告\ LocalDumps as described on MSDN

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

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

我不知道改变了什么。什么可以改变,以防止WER现在倾销核心?

2 个答案:

答案 0 :(得分:2)

以下可能出错:

要写入

的文件夹的权限

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

  • 阅读&执行
  • 列出文件夹内容

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

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

注册表项的权限

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

LocalDumps permissions

32对64位

Windows错误报告由Windows执行,仅使用具有操作系统位数的注册表项。你说你设置了两个。如果这是真的,那很好。如果您只设置了32位注册表项,那么它将无法正常工作。

的AeDebug

如果您有AeDebug HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug的设置,则会在WER之前执行。

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

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

禁用LocalDumps

确保Disabled

中没有值1的DWORD HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps

使用REG_SZ而不是REG_EXPAND_SZ

我见过人们将DumpFolder的REG_SZ与%APPDATA%结合使用。只有REG_EXPAND_SZ才会扩展环境变量。

答案 1 :(得分:0)

确保您已在 LocalDumps 节点上添加了一个键,例如" LocalDumps \ MyApplication.exe"。然后,更新该链接中说明的值。在发生崩溃时,WER会查找具有匹配应用程序名称的密钥,以决定如何处理转储。