Анализ выполняемого процесса
Используйте следующие команды, чтобы записать и проанализировать выделение памяти кучи в запущенном процессе. Этот анализ посвящен трассировкам стека.
umdh -p:PID [-f:LogFile] [-v[:MsgFile]] | [-g] | [-h]
Параметры
-p:PiD
Задает процесс для анализа. PID — это идентификатор процесса процесса. Этот параметр является обязательным.
Чтобы найти идентификатор идентификатора выполняемого процесса, используйте диспетчер задач, список задач или TList.
-f:LogFile
Сохраняет содержимое журнала в текстовом файле. По умолчанию UMDH записывает журнал в stdout (командное окно).
LogFile указывает путь (необязательно) и имя файла. Если указать существующий файл, UMDH перезаписывает файл.
Обратите внимание , что если UMDH не запущен в режиме администратора или пытается записать в защищенные пути, доступ будет отказано в доступе.
-v[:MsgFile]
Режим подробного вывода. Создает подробные информационные и сообщения об ошибках. По умолчанию UMDH записывает эти сообщения в stderr.
MsgFile указывает путь (необязательно) и имя текстового файла. При использовании этой переменной UMDH записывает подробные сообщения в указанный файл вместо stderr. Если указать существующий файл, UMDH перезаписывает файл.
-g
Записывает блоки кучи, на которые не ссылается процесс ("сборка мусора").
-h
Вывод справки.
Комментарии
В Windows 2000, если UMDH сообщает об ошибках поиска базы данных трассировки стека стека, и вы включили параметр "Создать базу данных трассировки в режиме пользователя" в GFlags, может возникнуть конфликт файлов символов. Чтобы устранить эту проблему, скопируйте файлы символов DBG и PDB для приложения в тот же каталог и повторите попытку.
Пример использования
umdh -?
umdh -p:2230
umdh -p:2230 -f:dump_allocations.txt
umdh -p:2230 -f:c:\Log1.txt -v:c:\Msg1.txt
umdh -p:2230 -g -f:garbage.txt