一、linux 部属.netcore生成dump
#当然默认是不支持的,需要用 ulimit 开启,这个命令可以用来配置当前系统资源的使用额度
ulimit -a
#core file size 就是用来指定生成 dump 文件的大小,默认为 0,即表示不生成,我们临时可以将其改成 unlimited ,即不限文件大小
ulimit -c unlimited
export COMPlus_DbgEnableMiniDump=1
export COMPlus_DbgMiniDumpType=4
export COMPlus_DbgMiniDumpName=/datalog/%p-%e-%h-%t.dmp
createdump 一般位于 /usr/share/dotnet/shared/Microsoft.NETCore.App/<version>/createdump
/usr/share/dotnet/shared/Microsoft.NETCore.App/7.0.4/
#查看pid
ps -ef
#创建Dump文件,生成目录:/tmp
cd /usr/share/dotnet/shared/Microsoft.NETCore.App/7.0.4/
./createdump <pid> --full #默认会创建一个 minidump
./createdump 3797 --full
-f, --name - dump path and file name. The %p, %e, %h %t format characters are supported. The default is '/tmp/coredump.%p'
-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.
二、下载WinDbg
应用商店下载:WinDbg Preview
配置symbol path
srv*D:\安装空间\symcache*http://msdl.microsoft.com/download/symbols
D:\安装空间\symcache
分析dump文件: