我最近才开始查看转储文件,以帮助我分析工作中生产环境中 w3wp 进程的崩溃...
我想知道,minidump 和 fulldump 文件有什么区别?
我最近才开始查看转储文件,以帮助我分析工作中生产环境中 w3wp 进程的崩溃...
我想知道,minidump 和 fulldump 文件有什么区别?
全内存转储文件和迷你内存转储文件的区别
内存转储文件可以收集各种信息。通常,支持工程师必须拥有虚拟内存的所有内容才能解决问题。在其他情况下,您可能希望捕获较少的信息以专注于特定问题。调试器很灵活。这种灵活性让您可以通过收集完整内存转储文件或小型内存转储文件来限制内存转储文件捕获的信息:
- 完整的内存转储文件。这些文件包含进程的虚拟内存内容。当您对未知问题进行故障排除时,这些文件最有用。支持工程师可以使用这些文件查看内存中的任何位置以定位任何对象,提取加载到任何调用堆栈上的变量,并反汇编代码以帮助诊断问题。全内存转储文件的缺点是它们很大。收集这些文件也可能需要额外的时间,并且在创建转储文件时必须冻结正在记录的进程。
- 迷你内存转储文件. 小型转储文件比完整转储文件更具可配置性,范围从仅几兆字节 (MB) 到完整转储文件的大小。大小因调试器写入磁盘的虚拟内存量而异。尽管您可以快速收集小型内存转储文件并且它们很小,但它们也有一个缺点。小型转储文件可能包含比完整转储文件少得多的信息。如果未捕获支持工程师必须排除故障的内存区域,则小型转储文件收集的信息可能对支持工程师几乎毫无用处。例如,如果堆内存未写入内存转储文件,则支持工程师无法检查问题发生时正在处理的消息的内容。有用的信息,
微软文档的摘录。
实际上,正如下面的 MS 链接所述,事情比上一篇文章所建议的要复杂一些。
https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/user-mode-dump-files#varieties
mini-dump 和 full-dump 之间的区别更多地与文件的格式有关,而不是文件中的内容/信息量。事实上,通过正确的配置,小型转储将包含比完整转储更多的信息,这就是为什么在所有情况下都建议使用正确配置的小型转储。