MiniDumper v2.2.19053
New features:
- a possibility to create dumps on commit memory thresholds (when process hits a specified memory limit or when the memory usage drops below a specified level) — contribution by @kishan3034
Fixes:
- a memory leak reported by @kevinkouketsu (#11)
Minidumper v2.1.18006.4
Added features:
- a possibility to create dumps on the 1st and the 2nd chance exceptions with the exception type filtering
- a possibility to create a dump on the process terminate event
- a possibility to limit the number of dumps to be done (with default set to one)
- a possibility to start a process under minidumper and wait for events
- a possibility to run the debugee process in a seperate console window (this one is missing in procdump! :))
- a nice welcome screen which resembles the one of procdump
Fixes:
- fixed problem with missing debug messages (by @kishan3034)
- fixed problem with the missing process name when creating immediate dumps
- a dump will be saved to the current folder (not the folder where MiniDumper is installed)
Preliminary version released for testing
v0.1-alpha Added AppVeyor CI badge
Вы тут: Главная → Popular → MiniDumper — удобная утилита для анализа дампов при BSOD
Я когда-то писал в блоге про kdfe.cmd и BlueScreenView. Эти решения по-разному и со своими недостатками пытались решить задачу определения драйвера, вызвавшего критическую ошибку. Теперь они не нужны.
Автор утилиты MiniDumper ограничил ее загрузку и работу для пользователей из РФ и РБ без VPN.
Сегодня я расскажу про утилиту MiniDumper (скачать), которая создавалась с учетом пожеланий специалистов, оказывающих поддержку в форуме устранения критических ошибок Windows. Ее автор – участник форума OSZone simplix.
Сведения для обычных пользователей
При запуске утилита автоматически анализирует найденные в системе дампы за последний год и открывает отчет в текстовом редакторе.
Вы также можете перетащить на исполняемый файл утилиты отдельный дамп или папку с дампами.
Дамп: 101017-7753-01.dmp (10.10.2017 17:57) Код: 0x3B - SYSTEM_SERVICE_EXCEPTION Процесс: avp.exe, вероятно вызвано: NETIO.SYS Сторонние модули в стеке: klwtp.sys Сторонние модули в Raw-стеке: nvlddmkm.sys, klim6.sys, klwtp.sys, adgnetworkwfpdrv.sys, klflt.sys, klif.sys
С именем драйвера уже можно идти в гуглояндекс. Если дело в сторонней программе или драйвере, надо начинать с их удаления / обновления. В примере выше – драйвер ЛК.
В более сложных случаях следует обращаться в форум.
Сведения для специалистов поддержки
Ряд фич MiniDumper реализован по просьбам моего коллеги по форуму Petya V4sechkin. Поэтому утилита очень удобна для техподдержки.
Возможности утилиты
MiniDumper работает в Windows 7 (с обновлениями) и более новых ОС. В состав программы входят Debugging Tools for Windows. Все команды, которые передаются отладочной утилите, формируются динамически в зависимости от кода ошибки и результатов предыдущих команд. Помимо !analyze -v MiniDumper:
- Анализирует как обычный стек, так и Raw-стек (командой dps) на предмет сторонних модулей. Raw-стек имеет меньшую достоверность, чем обычный стек, поскольку может содержать не относящиеся к сбою фрагменты предыдущих цепочек вызовов. Но во многих случаях он оказывается полезен (например, когда обычный стек неполон или повреждён).
- Выполняет особую обработку для кодов 0x7A, 0x77 и части 0xF4 (связаны с ошибками дисковой подсистемы), а также для 0x9F.
- Сохраняет журнал отладочных команд в папке с дампом, в том числе сведения о конфигурации (!sysinfo) и информацию о проблемных драйверах (lmvm).
- Выводит сводные результаты анализа по всем обработанным дампам в файл MiniDumper.log, который сохраняется в папке с утилитой (пример).
Отладочная информация
При анализе утилита скачивает отладочную информацию (debug symbols) в %temp%\MiniDumper. После закрытия утилиты папка удаляется автоматически.
Если вы регулярно анализируете дампы, можете задать расположение символов с помощью системных переменных среды:
_NT_SYMBOL_PATH=srv*D:\Symbols*https://msdl.microsoft.com/download/symbols _NT_EXECUTABLE_IMAGE_PATH=srv*D:\Symbols*https://msdl.microsoft.com/download/symbols
Запуск из командной строки
В качестве параметров командной строки MiniDumper принимает путь к дампу или папке с дампами, а также ключ /S для тихого режима (указывается перед путем к папке).
Заключение
QR-код с синего или зеленого экрана ведет в статью базы знаний, а там лишь общие рекомендации. Впрочем, недавно Microsoft опубликовала документацию по диагностике BSOD, где приводятся более конкретные советы для некоторых распространенных кодов ошибок, а также базовые инструкции по работе с WinDbg.
MiniDumper полностью автоматизирует анализ, упрощая задачу обычным пользователям и экономя время специалистам. Рекомендую!
Как вы анализируете BSOD?
- BlueScreenView (40%, голосов: 190)
- Ищу в интернете код ошибки (40%, голосов: 187)
- Windbg (6%, голосов: 29)
- Критических ошибок не возникает (5%, голосов: 23)
- MiniDumper (4%, голосов: 17)
- kdfe.cmd (3%, голосов: 12)
- Другое / Моего варианта тут нет (3%, голосов: 12)
- Сразу обращаюсь в форум (0%, голосов: 2)
Проголосовало: 472 [архив опросов]
Загрузка …
Minidumper
Minidumper is a command-line tool that can capture dump files of .NET processes in three modes: minimal, which is enough just for basic triage; heap, which includes managed heap information and other data required to diagnose more intricate .NET issues; and full, which creates a complete dump file.
What makes Minidumper interesting is the heap mode. For large applications, especially with a lot of modules or when unmanaged memory and code are involved, dumps generated by the heap mode can be 5x or 10x smaller than full memory dumps, but will still allow complete investigation of many .NET issues by tools like Visual Studio and WinDbg (SOS).
Head over to the releases section to download precompiled binaries if that’s your thing.
DumpWriter
Also included is a stand-alone library (DumpWriter) that can be added to any project to capture dumps of arbitrary processes. The DumpWriter project also contains the full interop signatures for the Win32 MiniDumpWriteDump
API and all associated data structures, including callback input and output structures.
NOTES
- To create dumps of 32-bit processes, make sure to use the 32-bit version of the application — and vice versa for 64-bit.
- MiniDumper has gone through very minimal testing. Although it is unlikely that it will cause any damage to the target process (if dump generation fails, MiniDumper exits and the target continues running), but YMMV.
- The
--async
option will not necessarily speed up dump generation if you are using a fast disk.
Usage
The command line options resemble those from procdump (not all features are yet implemented) so if you are familiar with that tool you should find yourself easily in minidumper.
-m Required. Create a dump file, second paramer:
-mm
minidump enough to diagnose crashes and display call
stacks.
-mh dump file with the CLR heap, but without
module code or unmanaged memory contents
-ma complete
dump file with the full memory address space
--async Write dump chunks to disk asynchronously. Reduces process
suspension time at the expense of higher memory usage.
-e Write a dump when the process encounters an unhandled
exception. Include the 1 to create dump on first chance
exceptions, include the 2 to create dump on second chance
exceptions.
-l Display the debug logging of the process + diagnostics info
from the minidumper.
--maxmem Memory commit threshold in MB at which to create a dump.
--minmem Trigger when memory commit drops below specified MB value.
-f Filter on the content of exceptions and debug logging.
Wildcards (*) are supported.
-x Launch the specified image with optional arguments.
-n (Default: 1) Number of dumps to write before exiting.
-t Write a dump when the process terminates.
-c Start the process in a new console window.
--help Display this help screen.
--version Display version information.
value pos. 0 Required. PID or process name
value pos. 0 Arguments for the process to start
Articles about minidumper
- Minidumper — a better way to create managed memory dumps
- Creating Smaller, But Still Usable, Dumps of .NET Applications
- More on MiniDumper: Getting the Right Memory Pages for .NET Analysis
- New features coming to minidumper
Open Source Agenda is not affiliated with «Minidumper» Project. README Source: goldshtn/minidumper