代码之家  ›  专栏  ›  技术社区  ›  Ehsan Abidi

如何防止在发生未处理的异常时创建“.mdmp”和“.hdmp”文件

  •  0
  • Ehsan Abidi  · 技术社区  · 7 年前

    我们的C#控制台应用程序工作正常。此应用程序在内部运行一些C++DLL。偶尔,我们会遇到C5错误(底层DLL的未知C++错误)或未处理的C#异常,这两种异常都会终止应用程序。(我在Windows事件日志中看到了它)。

    问题不是错误,而是Windows临时文件夹中生成的转储文件。它会填满我们的磁盘(虚拟磁盘的空间非常小),并导致其他正在运行的应用程序失败。 这是两个扩展名分别为“.mdmp”和“.hdmp”的文件。它们占据了大约500MB的空间。我在internet上读到这些与“Windows错误报告”相关,但我检查了Windows设置(服务器管理器-->本地服务器),它已关闭。

    我还将C#控制台应用程序的构建设置“内部编译器错误报告”更改为“发送”;跳转,将转储文件发送到它想要的位置,而不将其保存到后者,但临时文件仍在磁盘上生成。我想我应该把它改成“无”。

    如果有办法停止创建这些临时文件,请帮助我。

    提前感谢您

    2 回复  |  直到 6 年前
        1
  •  1
  •   shnara    6 年前

    一个选项是从错误报告中排除exe。请参见此处的“ExcludedApplications”: https://msdn.microsoft.com/en-us/library/bb513638.aspx .

    我没有足够的分数来回答前面的答案。所以在这里回答。前面的回答中提到的设置是针对系统崩溃的,也称为蓝屏。这些设置不会影响用户模式应用程序崩溃。

        2
  •  0
  •   Leo Liu    6 年前

    在旧环境(如Windows Server 2003)中,禁用。在机器上的HDMP文件,只需右键单击“我的电脑”并单击“属性”,转到“高级”选项卡并单击“错误报告”,就可以禁用它。