use*_*248 3 windows crash-reports crash-dumps windows-error-reporting
我的客户正在使用我编写的VB6程序遇到软件崩溃.
我已经设置了注册表来生成完整的崩溃转储,我看到它与其他程序崩溃的系统正常工作,但出于某种原因,对于我的程序,它会在完全不同的目录中创建简单的崩溃转储.
我的程序在x64计算机上运行32位.我已经设置了如图所示的注册表,包括SOFTWARE\Microsoft和SOFTWARE\Wow6432Node\Microsoft.
仍然无法正常工作.
有谁知道我怎么能确定每次程序崩溃时都会产生完整的崩溃转储?

查看C:\ProgramData\Microsoft\Windows\WER它拥有的文件夹的权限
创建子文件夹LocalDumps将继承权限.
因此,您应该修改该文件夹的权限,或者使用具有写入权限的其他文件夹.
如果权限不允许,Windows可能无法读取注册表设置.例如,以下(非常愚蠢)权限也会阻止LocalDump:
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 DumpFolder和%APPDATA%.只有REG_EXPAND_SZ才会扩展环境变量.
要测试您的设置是否有效,可以使用小型C++程序进行测试.
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Windows Error Reporting
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2073 次 |
| 最近记录: |