.net 小型转储与全转储?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/6903329/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
minidump vs. fulldump?
提问by gillyb
I just recently started looking at dump files to help me analyze crashes of the w3wp process on our production environment at work...
我最近才开始查看转储文件,以帮助我分析工作中生产环境中 w3wp 进程的崩溃...
And I would like to know, what are the differences between a minidump and a fulldump file ?
我想知道,小型转储和完整转储文件之间有什么区别?
采纳答案by foxy
Differences between full memory dump files and mini memory dump files
A memory dump file can collect a variety of information. Typically, a support engineer must have all the contents of virtual memory to troubleshoot a problem. In other cases, you might want to capture less information to focus on a specific problem. The debugger is flexible. This flexibility lets you limit the information that a memory dump file captures by collecting either full memory dump files or mini memory dump files:
- Full memory dump files. These files contain the contents of virtual memory for a process. These files are the most useful when you are troubleshooting unknown issues. A support engineer can use these files to look anywhere in memory to locate any object, pull up the variable that was loaded on any call stack, and disassemble code to help diagnose the problem. The disadvantage of full memory dump files is that they are large. It also may take additional time to collect these files, and the process that is being recorded must be frozen while the dump file is created.
- Mini memory dump files. A mini dump file is more configurable than a full dump file and can range from only several megabytes (MB) up to the size of a full dump file. The size differs because of the amount of virtual memory that the debugger is writing to disk. Although you can gather mini memory dump files quickly and they are small, they also have a disadvantage. Mini dump files may contain much less information than full dump files. The information that a mini dump file gathers may be virtually useless to a support engineer if the area of memory that the support engineer has to troubleshoot was not captured. For example, if the heap memory is not written to the memory dump file, a support engineer cannot examine the contents of a message that was being processed at the time that the problem occurred. Useful information, such as the subject line and the recipient list, would be lost.
全内存转储文件和迷你内存转储文件的区别
内存转储文件可以收集各种信息。通常,支持工程师必须拥有虚拟内存的所有内容才能解决问题。在其他情况下,您可能希望捕获较少的信息以专注于特定问题。调试器是灵活的。这种灵活性使您可以通过收集完整内存转储文件或小型内存转储文件来限制内存转储文件捕获的信息:
- 全内存转储文件。这些文件包含进程的虚拟内存内容。当您对未知问题进行故障排除时,这些文件最有用。支持工程师可以使用这些文件查看内存中的任何位置以定位任何对象,提取加载到任何调用堆栈上的变量,并反汇编代码以帮助诊断问题。全内存转储文件的缺点是它们很大。收集这些文件也可能需要额外的时间,并且在创建转储文件时必须冻结正在记录的进程。
- 迷你内存转储文件. 小型转储文件比完整转储文件更具可配置性,范围可以从仅几兆字节 (MB) 到完整转储文件的大小。大小因调试器写入磁盘的虚拟内存量而异。尽管您可以快速收集小型内存转储文件并且它们很小,但它们也有一个缺点。小型转储文件包含的信息可能比完整转储文件少得多。如果支持工程师必须排除故障的内存区域没有被捕获,那么小型转储文件收集的信息对于支持工程师来说实际上可能毫无用处。例如,如果堆内存未写入内存转储文件,则支持工程师无法检查问题发生时正在处理的消息的内容。有用的信息,
An extract from Microsoft's documentation.
微软文档的摘录。
回答by Alex Fotios
Actually, as the following MS link states, things are bit more complex than suggested by the previous post.
实际上,正如以下 MS 链接所述,事情比上一篇文章所建议的要复杂一些。
https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/user-mode-dump-files#varieties
https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/user-mode-dump-files#varieties
The difference between a mini-dump and a full-dump is more related to the format of the file than the amount of content/information in it. In fact, with the right configuration, a mini-dump will contain more information than a full-dump ever could and that is why properly configured mini-dumps are recommended in all cases.
小型转储和完整转储之间的区别与文件格式有关,而不是与其中的内容/信息量有关。事实上,通过正确的配置,小型转储将包含比完整转储更多的信息,这就是为什么在所有情况下都建议正确配置小型转储的原因。

