创建.NET程序Dump的几种姿势 - InCerry
source link: https://www.cnblogs.com/InCerry/p/how-to-generate-a-dump-file-of-a-dotnet-application.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
当一个应用程序运行的有问题时,生成一个Dump文件来调试它可能会很有用。在Windows、Linux或Azure上有许多方法可以生成转储文件。
Windows平台
dotnet-dump (Windows)
dotnet-dump全局工具是一种收集和分析.NET核心应用程序Dump的方法。
-
安装
dotnet-dump
(必须要 .NET SDK) 或者 直接下载dotnet tool install --global dotnet-dump
-
使用
ps
命令找到进程Iddotnet-dump ps
-
通过指定的进程id创建dump文件
dotnet-dump collect --process-id <ProcessId>
Windows 任务管理器
SysInternals - Process Explorer
- 下载 Process Explorer: Process Explorer
- 打开 Process Explorer
- 右击进程选择 "Create Dump" 项
]
SysInternals - ProcDump (Windows)
ProcDump
是一个命令行工具,当应用程序假死或进程使用太多的CPU时,可以生成一个Dump文件。
-
下载 ProcDump: ProcDump
-
使用进程名或者进程Id创建dump
procdump notepad
procdump 4572
调试诊断工具
调试诊断工具允许在满足某个条件时生成一个转储文件。例如,当应用程序崩溃或CPU使用率高时,它可以生成一个Dump文件。
- 下载 Debug Diagnostic Tool v2 Update 3
- 点击 "DebugDiag 2 Collection" (在开始菜单中可用)
- 配置一个规则,比如说当应用程序崩溃的时候
- 当条件得到满足时,会在配置的文件夹中生成一个崩溃Dump。
Visual Studio
如果你正在调试一个应用程序,你可以直接从Visual Studio保存一个转储文件。打开 "调试 "菜单,点击 "将转储另存为... "菜单项。
WinDbg
如果你正在使用WinDbg调试一个应用程序,你可以使用.dump
命令来生成一个转储文件。/ma
选项允许为所有连接的进程生成一个minidump:
.dump /ma [path]
Windows Error Reporting
Windows错误报告允许在应用程序崩溃时生成一个转储文件。你可以查看我以前关于它的帖子。出错时自动创建崩溃转储文件 "Tip: 在出错时自动创建一个崩溃转储文件"。
Linux
dotnet-dump (Linux)
dotnet-dump全局工具是一种收集和分析.NET核心应用程序转储的方法。
-
安装
dotnet-dump
(必须 .NET SDK) 或者 下载它dotnet tool install -g dotnet-dump
-
使用下面的命令找到进程Id
dotnet-dump ps
-
通过指定的进程id创建dump文件
dotnet-dump collect --type heap --process-id <ProcessId>
SysInternals - ProcDump (Linux)
ProcDump是一个命令行工具,当应用程序冻结或使用太多的CPU时,可以生成一个Dump文件。
-
下载 ProcDump for Linux: ProcDump For Linux
-
使用进程名或者进程Id创建dump
procdump 4572
Azure App Services
Azure允许我们为App服务生成和分析Dump文件。
原文版权:Meziantou
翻译版权:InCerry
原文链接:
https://www.meziantou.net/how-to-generate-a-dump-file-of-a-dotnet-application.htm
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK