Windows中使用createdump创建进程dump文件的基本用法

发布于:2025-06-27 ⋅ 阅读:(17) ⋅ 点赞:(0)

  createdump.exe是Windows平台用于捕获进程内存快照的命令行工具(linux也能使用createdump工具dump进程),主要用于故障诊断和性能分析,一般进程内存异常或者崩溃时,如果常规手段无法排查出问题原因,可以考虑使用createdump创建并分析进程dump文件。安装.net core运行时时会附带createdump.exe,可以在命令行运行dotnet --list-runtimes命令,然后找到Microsoft.NETCore.App文件夹路径,createdump.exe就在其子文件夹内,vs安装目录下也能找到createdump.exe文件。
  createdump.exe的使用格式及常用参数如下所示,其中:
  1)[options]用于指定dump文件的格式,如完整dump、minidump等;
  2)pid为进程id,可以在任务管理器的详细信息中查看需要dump的进程pid;
  3)-f参数指定输出的dump文件路径及名称,可以直接指定输出文件固定名称,也可以指定带参数的dump文件名称,包括%p表示待dump的进程pid,%e表示待dump的进程的可执行文件名称,%h表示进程所在的计算机名,%t表示从1970年1月1日到现在的总秒数。

[createdump] createdump [options] pid
-f, --name - dump path and file name. The default is '%TEMP%\dump.%p.dmp'. These specifiers are substituted with following values:
   %p  PID of dumped process.
   %e  The process executable filename.
   %h  Hostname return by gethostname().
   %t  Time of dump, expressed as seconds since the Epoch, 1970-01-01 00:00:00 +0000 (UTC).
-n, --normal - create minidump.
-h, --withheap - create minidump with heap (default).
-t, --triage - create triage minidump.
-u, --full - create full core dump.
-d, --diag - enable diagnostic messages.
-v, --verbose - enable verbose diagnostic messages.

  可选参数的含义如下:
  1)-n:创建minidump文件,其属于精简版内存转储文件,如果进程内存占用太大时可以考虑创建minidump文件先做初步问题分析;
  2)-h:创建带堆栈信息的minidump文件,适用于需要调查内存相关故障(如堆破坏、内存泄漏)的情况,通常生成的文件要比-n生成的文件大得多;
  3)-t:创建的minidump文件保留最关键的崩溃现场信息,大幅减少文件体积,适用于需要快速收集、传输和分析崩溃场景的场景;
  4)-u:创建完整的dump文件,便于用命令行或者vs进行详细的故障分析;
  5)-d:启用诊断消息
  6)-v:启用详细的诊断信息。

  最后是进程dump示例:
在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到