我的客户正在用我写的VB6程序遇到软件崩溃。
我已经build立了registry来产生完整的崩溃转储,而且我看到它可以正常的与其系统上崩溃的其他程序正常工作,但由于某种原因,对于我的程序,stil会在一个完全不同的目录中创build简单的崩溃转储。
我的程序是在64位计算机上运行的32位程序。 我已经设置了如图所示的registry,用于SOFTWARE \ Microsoft和SOFTWARE \ Wow6432Node \ Microsoft。
依然不起作用。
有谁知道我可以肯定,每当程序崩溃,完整的崩溃转储产生?
查看文件夹C:\ProgramData\Microsoft\Windows\WER
的权限
创建子文件夹LocalDumps
将继承权限。
因此,您应该修改该文件夹的权限或使用具有写入权限的其他文件夹。
Windows错误报告由Windows执行,只使用注册表项与OS的位数。 你说你建立了两个。 如果那是真的,那很好。 如果您只设置了32位注册表项,则不起作用。
如果您有AeDebug HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug
,那些在WER之前执行。
通常这应该导致启动一个调试器,但谁知道…它可能什么也不做,只是退出。
要测试你的设置是否工作,你可以用一个小的C ++程序来测试。
#include "stdafx.h" #include <exception> int _tmain(int /*argc*/, _TCHAR* /*argv*/[]) { throw std::exception(); }