我只想恢复自己的32位应用程序的崩溃转储。
我尝试了以下内容:
我按照MSDN“收集用户模式转储”中的步骤操作: http://msdn.microsoft.com/en-us/library/windows/desktop/bb787181%28v=vs.85%29.aspx
在互联网上的某个地方,我看到了有关WER注册表项的提及
32位应用不必添加到HKLM\Software\WOW6432Node\Microsoft\Windows\Windows Error
Reporting\LocalDumps\
下
此外,..\Windows NT\AeDebug\Auto (REG_SZ)
值必须为“0”
此外,我在'系统事件查看器'下面有WER错误条目
"Windows Logs\Applications&Services\Microsoft\Windows\WER-Diagnostics\Operational"
显示消息“检测到可能的堆损坏(代码3221225477)”
我不知道这条消息是否与我的测试应用创建NPE有关,或者这是否是WER本身有问题?
我无法让它工作:( 谁能给我一些线索?
更新 对于另一款新的2008R2 x64机器,我只是做了
HKLM\Software\... Reporting\LocalDumps\DumpFolder = "c:\crashdumps"
HKLM\Software\... Reporting\LocalDumps\DumpType = 2 (REG_DWORD)
HKLM\Software\... Reporting\LocalDumps\DumpCount = 20 decimal (REG_DWORD)
运行nulpointer-terster按预期工作。
所以我认为必须在这些其他机器中设置禁止使用LocalDumps的设置,尽管LocalDumps注册表键在那里..
答案 0 :(得分:3)
答案 1 :(得分:1)
我认为你已经检查了大多数常见问题。还有3个:
查看文件夹C:\ProgramData\Microsoft\Windows\WER
的权限
创建子文件夹LocalDumps
将继承权限。
因此,您应该修改该文件夹的权限,或者使用具有写权限的其他文件夹。
如果权限不允许,Windows可能无法读取注册表设置。例如。以下(非常愚蠢)权限也会阻止LocalDump:
确保Disabled
1
的DWORD HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps