重定向APPCRASH转储(或关闭它们)

时间:2013-08-31 19:29:38

标签: c++ c windows crash-dumps memory-dump

我有一个在C:\ Windows \ SysWOW64中生成APPCRASH转储的应用程序(没有写它)。转储时的应用程序瘫痪,但以最小容量运行,以便丢失数据。问题是这些转储非常庞大,以至于系统花费了大部分时间来编写这些转储,并且应用程序在处理过程中远远落后,并且很快就会开始丢失数据。

计划是要么完全禁用它,要么将它安装到RAM驱动器并在它们到达RAM驱动器时立即清除它们。

现在我已经开始使用这个密钥了:

http://msdn.microsoft.com/en-us/library/windows/desktop/bb787181%28v=vs.85%29.aspx

但它所做的只是现在生成第二个转储,而不是重定向原始转储。

转储命名为:

自卸2013_03_31-15_23_55_772.dmp

这通常是Windows上开发人员的领域(有C / C ++这样的东西),所以我想点击它们,不要以为ServerFault能给我任何答案。

此外:它不是循环转储文件(它们将填充硬盘驱动器上剩余的20GB),所以我不确定这是Windows行为还是应用程序中的自定义代码(如果它... ick! )。

1 个答案:

答案 0 :(得分:1)

要编写DumpFile,应用程序必须调用函数“MiniDumpWriteDump”,因此这不是系统的行为或您可以控制的内容,而是应用程序驱动的。如果它在崩溃时转储,它会使用“SetUnhandledExceptionFilter”来设置自己的处理例程,然后(!)操作系统接管。不幸的是我没有找到一种方法来覆盖其他进程中的这个处理程序,所以唯一的希望是,有一个注册表项,用于切换行为或更改路径的应用程序(正如我的应用程序拥有它的原因完全一样)你描述)。

相关问题