分析正在运行的进程

使用以下命令记录和分析运行中进程的堆内存分配情况。 此分析侧重于堆栈跟踪。

umdh -p:PID [-f:LogFile] [-v[:MsgFile]] | [-g] | [-h]

参数

-p:PID
指定要分析的进程。 PID 是进程的进程 ID。 此参数是必需的。

若要查找运行中进程的 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