【问题标题】:Automatic Crash Dump for .Net process.Net 进程的自动故障转储
【发布时间】:2019-08-09 13:41:34
【问题描述】:

我正在尝试设置 Windows Server 2016 实例,以便在 .Net 进程因未处理的异常退出时自动创建故障转储。我尝试了以下方法:

我尝试以会产生异常的方式运行我的应用程序。我所要做的就是在相同的配置中启动它两次,然后第二个实例在套接字绑定异常上崩溃。但是,在上述任何情况下,崩溃都不会生成转储文件。我在 Windows Server 2016 上是否需要做一些特别的事情,或者我需要对我的 .Net 应用程序做一些特别的事情以使其触发未处理异常的转储?

【问题讨论】:

    标签: crash windbg windows-error-reporting postmortem-debugging procdump


    【解决方案1】:

    我找到了原因:我们使用TopShelf 来托管我们的进程。默认情况下TopShelf handles uncaught exceptions 并干净地退出。

    对于后来的任何人,请注意 TopShelf 从去年年底开始有一个未记录的功能来禁用此行为:

    x.UnhandledExceptionPolicy = Topshelf.Runtime.UnhandledExceptionPolicyCode.TakeNoAction;

    在服务配置中会这样做。使用此代码,我能够获得故障转储。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-09
      • 2016-03-21
      • 2015-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-13
      相关资源
      最近更新 更多