【问题标题】:Difference between crash dump and hang dump?崩溃转储和挂起转储之间的区别?
【发布时间】:2012-10-25 17:37:32
【问题描述】:

crash-dump 和 hang-dump 有什么区别?

假设如果我编写一个实用程序来创建单击进程的转储,我将如何提示该实用程序来创建适当的转储?

【问题讨论】:

  • +1。我也在努力理解这一点。我很困惑为什么它们在 WinDBG 中是单独的选项,但在任务管理器中有一个常见的选项可以创建转储文件。

标签: debugging windbg sos


【解决方案1】:

不确定您的意思,它们都是应用程序/内核状态(内存)的不同细节级别的转储。应用程序是否挂起或崩溃与什么构成转储无关,请参阅此doc 和此处http://www.debuginfo.com/articles/easywindbg2.html#savedumps 崩溃转储将具有崩溃本身的异常记录。

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

不同类型的转储: http://msdn.microsoft.com/en-us/library/windows/desktop/ms680519%28v=vs.85%29.aspx

【讨论】:

    【解决方案2】:

    转储只是过程的快照。

    崩溃情况更易于监控。 应用程序引发了一些未处理的异常,并且监控进程拍摄了故障进程的快照。 如果您不设置任何监控,Windows 操作系统最终会为您生成一个小型转储。

    挂起情况(或 100% CPU 占用)是特定于应用程序的,因此更难以监控。 如果应用程序没有响应或 CPU 密集型,可能是因为它正忙于处理一些数字? 也许它适用于一些网络数据? 也许应用程序 GUI 是响应式的,但两个后台工作线程陷入僵局?

    一般来说,我建议手动生成挂起转储。当最终用户/QA 工程师确定有问题时。 可以自动执行挂起转储,但何时生成它们的决定取决于应用程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-28
      • 1970-01-01
      • 2018-01-06
      • 2014-05-29
      • 2013-11-23
      相关资源
      最近更新 更多