ProcDump версии 10.11
Марк Руссинович и Эндрю Ричардс
Опубликовано: 18.08.2021 г.
Скачать ProcDump(680 КБ)
Скачивание ProcDump для Linux (GitHub)
Введение
ProcDump — это служебная программа командной строки, основная цель которой — мониторинг приложения на наличие пиков ЦП и создание аварийных дампов во время пиков, которые администратор или разработчик может использовать для определения причины всплеска. ProcDump также включает мониторинг виселого окна (используя то же определение окна, которое использует Windows и диспетчер задач), необработанное отслеживание исключений и может создавать дампы на основе значений счетчиков производительности системы. Она также может служить служебной программой дампа общего процесса, которую можно внедрить в другие скрипты.
Использование ProcDump
Сбор данных об использовании:
procdump.exe [-mm] [-ma] [-mp] [-mc Mask] [-md Callback_DLL] [-mk]
[-n Count]
[-s Seconds]
[-c|-cl CPU_Usage [-u]]
[-m|-ml Commit_Usage]
[-p|-pl Counter_Threshold]
[-h]
[-e [1 [-g] [-b]]]
[-l]
[-t]
[-f Include_Filter, ...]
[-fx Exclude_Filter, ...]
[-o]
[-r [1..5] [-a]]
[-at Timeout]
[-wer]
[-64]
{
{{[-w] Process_Name | Service_Name | PID} [Dump_File | Dump_Folder]}
|
{-x Dump_Folder Image_File [Argument, ...]}
}
Установка использования:
procdump.exe -i [Dump_Folder]
[-mm] [-ma] [-mp] [-mc Mask] [-md Callback_DLL] [-mk]
[-r]
[-at Timeout]
[-k]
[-wer]
Удаление использования:
procdump.exe -u
Параметр | Описание |
---|---|
-a | Избегайте сбоев. Требуется -r. Если триггер приведет к приостановке целевого объекта в течение длительного времени из-за превышенного ограничения параллельного дампа, триггер будет пропущен. |
-at | Избегайте сбоев во время ожидания. Отмена сбора триггера в N секундах. |
-b | Обрабатывать точки останова отладки как исключения (в противном случае игнорируйте их). |
-c | Пороговое значение ЦП, при котором создается дамп процесса. |
-cl | Порог ЦП ниже, после которого создается дамп процесса. |
-d | Вызов подпрограммы обратного вызова minidump с именем MiniDumpCallbackRoutine указанной библиотеки DLL. |
-e | Создание дампа при обнаружении необработанного исключения. Включите значение 1, чтобы создать дамп при первом исключении шансов. |
-f | Отфильтруйте первое случайное исключение. Поддерживаются подстановочные знаки (*). Чтобы просто отобразить имена без дампа, используйте пустой фильтр (""). |
-fx | Фильтрация (исключение) для содержимого исключений и ведения журнала отладки. Поддерживаются подстановочные знаки. |
-g | Запуск отладчика в качестве собственного отладчика в управляемом процессе (без взаимодействия). |
-h | Запись дампа, если в процессе зависло окно (не отвечает на сообщения окна не менее 5 секунд). |
-i | Установите ProcDump в качестве отладчика AeDebug postmortem. Только -ma, -mp, -d и -r поддерживаются в качестве дополнительных параметров. |
-k | Завершение процесса после клонирования (-r) или в конце сбора дампов |
-l | Отображение ведения журнала отладки процесса. |
-m | Порог фиксации памяти в МБ, в котором создается дамп. |
-ma | Запись файла дампа со всей памятью процесса. Формат дампа по умолчанию включает только данные потока и дескриптора. |
-mc | Напишите пользовательский файл дампа. Включите память, определенную указанной маской MINIDUMP_TYPE (Шестнадцатеричная). |
-md | Напишите файл дампа обратного вызова. Включите память, определяемую подпрограммой обратного вызова MiniDumpWriteDumpCallbackRoutine указанной библиотеки DLL. |
-mk | Также запишите файл дампа ядра. Включает стеки ядра потоков в процессе. ОС не поддерживает дамп ядра (-mk) при использовании клона (-r). При использовании нескольких размеров дампа создается дамп ядра для каждого размера дампа. |
-ml | Активируется при удалении фиксации памяти ниже указанного значения МБ. |
-mm | Запись файла мини-дампа (по умолчанию). |
-mp | Напишите файл дампа с данными потока и дескриптором, а также всю память процесса чтения и записи. Чтобы свести к минимуму размер дампа, выполняется поиск областей памяти, размер которых превышает 512 МБ, и при обнаружении наибольшей области исключается. Область памяти — это коллекция областей выделения памяти одного размера. Удаление этой памяти (кэша) сокращает количество дампов Exchange и SQL Server на более чем 90 %. |
-n | Количество дампов для записи перед выходом. |
-o | Перезапись существующего файла дампа. |
-p | Триггер указанного счетчика производительности при превышении порогового значения. Примечание. Чтобы указать счетчик процессов при наличии нескольких экземпляров выполняемого процесса, используйте идентификатор процесса со следующим синтаксисом: \Process(<name>_<pid>)\counter. |
-pl | Триггер, когда счетчик производительности опускается ниже указанного значения. |
-r | Дамп с помощью клона. Параллельное ограничение является необязательным (по умолчанию 1, максимум 5). ВНИМАНИЕ. Высокое значение параллелизма может повлиять на производительность системы. — Windows 7: использует отражение. ОС не поддерживает -e. — Windows 8.0: использует отражение. ОС не поддерживает -e. — Windows 8.1+: использует PSS. Поддерживаются все типы триггеров. |
-s | За несколько секунд до записи дампа (значение по умолчанию — 10). |
-t | Напишите дамп при завершении процесса. |
-u | Обрабатывает использование ЦП относительно одного ядра (используется с -c). В качестве единственного варианта удаляет ProcDump в качестве отладчика postmortem. |
-w | Дождитесь запуска указанного процесса, если он не запущен. |
-wer | Помещать в очередь (самый большой) дамп для отчеты об ошибках Windows. |
-x | Запустите указанное изображение с необязательными аргументами. Если это приложение или пакет Магазина, procDump начнется при следующей активации (только). |
-64 | По умолчанию ProcDump записывает 32-разрядный дамп 32-разрядного процесса при работе в 64-разрядной версии Windows. Этот параметр переопределяет создание 64-разрядного дампа. Используется только для отладки подсистемы WOW64. |
-? | Используйте -? -e, чтобы просмотреть примеры командных строк. |
Если опустить имя файла дампа, по умолчанию используется <processname>_<datetime>.dmp
значение .
Используйте параметр командной -accepteula
строки, чтобы автоматически принять лицензионное соглашение Sysinternals.
Автоматическое завершение:
Задание события с именем ProcDump-<PID>
совпадает с вводом клавиш CTRL+C для корректного завершения ProcDump
Имя файла:
Имя файла дампа по умолчанию: PROCESSNAME_YYMMDD_HHMMSS.dmp
Поддерживаются следующие подстановки:
Подстановка | Объяснение |
---|---|
PROCESSNAME | Имя процесса |
ИД процесса | ИД процесса |
EXCEPTIONCODE | Код исключения |
ГГММДД | Year/Month/Day |
HHMMSS | Час,минута в секунду |
Примеры
Напишите мини-дамп процесса с именем "Блокнот" (может существовать только одно совпадение):
Блокнот C:\>procdump
Напишите полный дамп процесса с идентификатором PID 4572:
C:\>procdump -ma 4572
Напишите 3 мини-дампа на 5 секунд, за исключением процесса с именем "Блокнот":
C:\>procdump -s 5 -n 3 блокнот
Записывайте до 3 мини-дампов процесса с именем "потребление", когда загрузка ЦП превышает 20 % в течение пяти секунд:
C:\>procdump -c 20 -s 5 -n 3 consume
Напишите мини-дамп для процесса с именем "hang.exe", если один из них не отвечает более чем на 5 секунд:
C:\>procdump -h hang.exe hungwindow.dmp
Напишите мини-дамп процесса с именем outlook, если общий объем использования ЦП системы превышает 20 % в течение 10 секунд:
C:\>procdump outlook -p "\Processor(_Total)\% Процессорное время" 20
Напишите полный дамп процесса с именем Outlook, когда число дескрипторов Outlook превышает 10 000:
C:\>procdump -ma outlook -p "\Process(Outlook)\Handle Count" 10000
Создайте дамп MiniPlus в хранилище сведений Microsoft Exchange, если у него есть необработанное исключение:
C:\>procdump -mp -e store.exe
Отображение без записи дампа, коды исключений и имена w3wp.exe:
C:\>procdump -e 1 -f "" w3wp.exe
Напишите мини-дамп w3wp.exe если код или имя исключения содержит "NotFound":
C:\>procdump -e 1 -f NotFound w3wp.exe
Запустите процесс, а затем отслеживайте его за исключениями:
C:\>procdump -e 1 -f "" -x c:\dumps consume.exe
Зарегистрируйтесь для запуска и попытайтесь активировать современное приложение. Новый экземпляр ProcDump запустится при активации для отслеживания исключений:
C:\>procdump -e 1 -f "" -x c:\dumpsMicrosoft.BingMaps_8wekyb3d8bbwe! AppexMaps
Зарегистрируйтесь для запуска современного пакета. Новый экземпляр ProcDump запускается при активации (вручную) для отслеживания исключений:
C:\>procdump -e 1 -f "" -x c:\dumps Microsoft.BingMaps_1.2.0.136_x64__8wekyb3d8bbwe
Зарегистрируйтесь в качестве JIT-отладчика (AeDebug). Делает полные дампы в c:\dumps:
C:\>procdump -ma -i c:\dumps
См. список примеров командных строк (примеры приведены выше):
C:\>procdump -? -E
Связанные ссылки
- Книга внутренних компонентов Windows Официальные обновления и страница эрраты для окончательной книги о внутренних windows, Марк Руссинович и Дэвид Соломон.
- Справочник администратора Windows Sysinternals Официальное руководство по служебным программам Sysinternals Марк Руссинович и Аарон Маргоз, включая описания всех инструментов, их функции, способы их использования для устранения неполадок, а также примеры реальных вариантов их использования.
Скачать ProcDump(680 КБ)
Скачивание ProcDump для Linux (GitHub)
Выполняется в:
- Клиент: Windows 8.1 и выше.
- Сервер: Windows Server 2012 и выше.
Подробнее
- Средства дефрагментации: No 9 — ProcDump Этот эпизод средств Defrag охватывает то, что инструмент захватывает и ожидается сбой
- Средства дефрагментации: #10 — ProcDump — триггеры В этом эпизоде рассматриваются варианты триггеров, в частности, 1-й 2-й & шанс исключения
- Средства дефрагментации: No 11 — ProcDump — Windows 8 & Монитор процессов в этом эпизоде охватывает современную поддержку приложений и поддержку ведения журнала монитора процессов