創建.NET程序Dump的幾種姿勢

當一個應用程序運行的有問題時,生成一個Dump文件來調試它可能會很有用 。在Windows、Linux或Azure上有許多方法可以生成轉儲文件 。
Windows平臺dotnet-dump (Windows)dotnet-dump全局工具是一種收集和分析.NET核心應用程序Dump的方法 。

  1. 安裝 dotnet-dump (必須要 .NET SDK) 或者 直接下載
    dotnet tool install --global dotnet-dump
  2. 使用ps命令找到進程Id
    dotnet-dump ps
  3. 通過指定的進程id創建dump文件
    dotnet-dump collect --process-id <ProcessId>

創建.NET程序Dump的幾種姿勢

文章插圖
Windows 任務管理器
  1. 按下 Ctrl+Shift+Esc 打開 Windows 任務管理器
  2. 選擇"詳細信息"選項卡
  3. 在列表中找到你的應用程序
  4. 右擊它,然后選擇 "創建轉儲文件"
    創建.NET程序Dump的幾種姿勢

    文章插圖

創建.NET程序Dump的幾種姿勢

文章插圖
SysInternals - Process Explorer
  1. 下載 Process Explorer: Process Explorer
  2. 打開 Process Explorer
  3. 右擊進程選擇 "Create Dump" 項

創建.NET程序Dump的幾種姿勢

文章插圖
]
SysInternals - ProcDump (Windows)ProcDump是一個命令行工具,當應用程序假死或進程使用太多的CPU時,可以生成一個Dump文件 。
  1. 下載 ProcDump: ProcDump
  2. 使用進程名或者進程Id創建dump
    procdump notepadprocdump 4572

創建.NET程序Dump的幾種姿勢

文章插圖
調試診斷工具調試診斷工具允許在滿足某個條件時生成一個轉儲文件 。例如,當應用程序崩潰或CPU使用率高時,它可以生成一個Dump文件 。
  1. 下載 Debug Diagnostic Tool v2 Update 3
  2. 點擊 "DebugDiag 2 Collection" (在開始菜單中可用)
  3. 配置一個規則,比如說當應用程序崩潰的時候
  4. 當條件得到滿足時,會在配置的文件夾中生成一個崩潰Dump 。
Visual Studio如果你正在調試一個應用程序,你可以直接從Visual Studio保存一個轉儲文件 。打開 "調試 "菜單 , 點擊 "將轉儲另存為... "菜單項 。
創建.NET程序Dump的幾種姿勢

文章插圖
WinDbg如果你正在使用WinDbg調試一個應用程序 , 你可以使用.dump命令來生成一個轉儲文件 。/ma選項允許為所有連接的進程生成一個minidump:
.dump /ma [path]
創建.NET程序Dump的幾種姿勢

文章插圖
Windows Error ReportingWindows錯誤報告允許在應用程序崩潰時生成一個轉儲文件 。你可以查看我以前關于它的帖子 。出錯時自動創建崩潰轉儲文件 "Tip: 在出錯時自動創建一個崩潰轉儲文件" 。
Linuxdotnet-dump (Linux)dotnet-dump全局工具是一種收集和分析.NET核心應用程序轉儲的方法 。
  1. 安裝 dotnet-dump (必須 .NET SDK) 或者 下載它
    dotnet tool install -g dotnet-dump
  2. 使用下面的命令找到進程Id
    dotnet-dump ps
  3. 通過指定的進程id創建dump文件
    dotnet-dump collect --type heap --process-id <ProcessId>

創建.NET程序Dump的幾種姿勢

文章插圖
SysInternals - ProcDump (Linux)ProcDump是一個命令行工具,當應用程序凍結或使用太多的CPU時 , 可以生成一個Dump文件 。
  1. 下載 ProcDump for Linux: ProcDump For Linux
  2. 使用進程名或者進程Id創建dump
    procdump 4572

創建.NET程序Dump的幾種姿勢

文章插圖
Azure App ServicesAzure允許我們為App服務生成和分析Dump文件 。
  1. 選擇你的應用程序服務
  2. 轉到 "診斷和解決問題"
  3. 選擇 "診斷工具"
    創建.NET程序Dump的幾種姿勢

    文章插圖
  4. 選擇 "收集內存轉儲"
  5. 【創建.NET程序Dump的幾種姿勢】點擊 "收集內存轉儲 "按鈕
  6. 幾分鐘后,轉儲在配置的存儲賬戶中可用 。
    創建.NET程序Dump的幾種姿勢

    文章插圖
版權原文版權:Meziantou翻譯版權:InCerry原文鏈接:https://www.meziantou.net/how-to-generate-a-dump-file-of-a-dotnet-application.htm

推薦閱讀