【问题标题】:How to prevent creating ".mdmp" and ".hdmp" files when unhadled exceptions happens发生未处理的异常时如何防止创建“.mdmp”和“.hdmp”文件
【发布时间】:2018-07-09 02:24:31
【问题描述】:

我们的 C# 控制台应用程序运行良好。此应用程序在内部运行一些 C++ dll。有时,我们会遇到 C5 错误(底层 dll 的未知 C++ 错误)或未处理的 C# 异常,它们都会终止应用程序。 (我在 Windows 事件日志中看到了)。

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

我还将 C# 控制台应用程序的构建设置更改为:“内部编译器错误报告”为“发送”;希望它将转储文件发送到它打算发送的某个地方并且不为后者保存它,但是临时文件仍然在磁盘上生成。我想我应该把它改成“无”。

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

谢谢你

【问题讨论】:

    标签: windows visual-studio console-application dump windows-error-reporting


    【解决方案1】:

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

    我没有足够的积分来内联回复上一个答案。所以在这里回复。上一个答案中提到的设置是针对系统崩溃的,也就是蓝屏。这些设置不会影响用户模式应用程序崩溃。

    【讨论】:

    • 正如我所说:在我们的 Windows Server 2012 中的“服务器管理器”-->“本地服务器”下,有一个“Windows 错误报告”设置已关闭。你还说“Windows 错误报告”还在工作吗?
    【解决方案2】:

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

    【讨论】:

    • 在 Windows 的 Dump 文件名设置下写着:"%SystemRoot%\MEMORY.DMP"。即使使用此设置,您也说它与在 Window`s Temp 文件夹中创建的创建 .HDMP 有关?
    • 它们是内存转储文件,忽略它。只需找到共享不同方式的文档即可禁用 Windows 错误报告,即使在 Windows 7 中:techrena.net/disable-windows-7-error-reporting。你会试着在你身边检查它。我的理解是它与 Windows/windows 服务器有关,而不是 MSbuild 问题。所以我只是给你一些建议。我还将帮助您添加其他标签并移动MSbuild标签。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-08
    • 2010-10-06
    • 1970-01-01
    • 2020-01-07
    • 1970-01-01
    • 2020-05-25
    • 1970-01-01
    相关资源
    最近更新 更多