小型转储与全面转储?

我刚刚开始查看转储文件,以帮助我分析工作环境中w3wp进程在生产环境中的崩溃情况。

我想知道,一个小型转储和一个完整转储文件有什么区别?

全内存转储文件和迷你内存转储文件之间的区别

内存转储文件可以收集各种信息。 通常情况下,支持工程师必须拥有虚拟内存的所有内容才能解决问题。 在其他情况下,您可能希望捕获较less的信息以专注于特定的问题。 debugging器是灵活的。 这种灵活性使您可以通过收集全部内存转储文件或迷你内存转储文件来限制内存转储文件捕获的信息:

  • 完整的内存转储文件 。 这些文件包含进程的虚拟内存的内容。 这些文件是解决未知问题时最有用的。 支持工程师可以使用这些文件来查找内存中的任何位置,以find任何对象,拉起在任何调用堆栈上加载的variables,并反汇编代码以帮助诊断问题。 全内存转储文件的缺点是它们很大。 也可能需要更多时间来收集这些文件,并且在创build转储文件时,必须冻结正在logging的进程。
  • 迷你内存转储文件 。 小型转储文件比完整的转储文件更具可configuration性,其范围可能仅从几兆字节(MB)到完整转储文件的大小。 大小因debugging器写入磁盘的虚拟内存量而不同。 尽pipe您可以快速收集迷你内存转储文件,但它们很小,但也有缺点。 迷你转储文件可能包含比完整转储文件更less的信息。 如果支持工程师需要排除故障的内存区域没有被捕获,那么小型转储文件收集的信息对于支持工程师来说实际上可能是无用的。 例如,如果堆内存不写入内存转储文件,支持工程师不能检查问题发生时正在处理的消息的内容。 有用的信息,如主题行和收件人列表,将会丢失。

来自微软文档的摘录。

其实,正如下面的MS链接所示,事情比前一篇文章所提出的要复杂一些。

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

小转储和全转储之间的区别与文件的格式相比,其内容/信息的数量更多。 事实上,在正确的configuration下,微型转储将包含比全部转储更多的信息,这就是为什么在所有情况下都要正确configuration小型转储的原因。