我正在尝试找出Windows错误报告保存的位置;我打 发送 在今天早些时候,但我忘记了我想“查看细节”,以便我可以检查记忆缩影。

但是我找不到它们存储的位置(而Google不知道)。

因此,我想编写一个会崩溃的虚拟应用程序,显示WER对话框,让我单击“查看详细信息”,以便我可以到达保存转储的文件夹。

我如何在Windows上崩溃?

编辑: 我问的原因是因为我尝试溢出堆栈,而浮点则除以零。堆栈溢出使应用程序消失,但没有弹出对话框。浮点划分为零导致 +INF,但没有例外,也没有崩溃。

有帮助吗?

解决方案

应该是一个好的开始:

int main(int argc, char* argv[])
{
   char *pointer = NULL;
   printf("crash please %s", *pointer);
   return 0;
}

其他提示

你们都很详细! :-)

这是一种紧凑的方法:

*((int*)0)=0;

您假设内存转储仍然存在。发送后,将它们从机器上删除。

垃圾场本身应位于某个地方的%temp%。

就崩溃而言,这并不困难,只是做一些导致segfault的事情。

不确定这是否会触发错误报告对话框,但是您可以尝试使用零。

void crash(void)
{
    char* a = 0;
    *a = 0;
}

可以在此处找到官方支持的触发崩溃的方法:

http://msdn.microsoft.com/en-us/library/ff545484(V=VS.85).aspx

基本上:

使用USB键盘,您必须在注册表中启用键盘发射的崩溃。在“注册表”密钥中,hkey_local_machine system currentControlset services kbdhid parameters,创建一个名为crashonctrlscroll的值,并将其设置为reg_dword值等于0x01。

然后:

您必须重新启动这些设置才能生效。

完成此操作后,可以使用以下热键序列来启动键盘崩溃:按下最右侧的CTRL键,然后两次按滚动锁定键。

无需编程;)这里没有重新发明:)

有趣的是知道如何崩溃窗口。但是为什么不看看

%allusersprofile%\Application Data\Microsoft\Dr Watson\ 

第一的?请注意特定于应用程序的CrashData文件夹,我发现EG

...\FirefoxPortable\Data\profile\minidumps\ 

...\OpenOfficePortable\Data\settings\user\crashdata\.
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top