centos7下安装lldb,dotnet netcore 进程生成转储文件,并使用lldb进行分析
随着netcore应用在linux上部署的应用越来越多,碰到cpu 100%,内存暴涨的情况也一直偶有发生,在windows平台下进程管理器右键转储,下载到本地使用windbg或者直接vs分析都比较方便。而在linux平台下因为一直接触的不深,所以对这一块也一直没有比较好的了解。所以接下来的文章将对在centos7下安装lldb,生成转储以及调试分析进行一些简单说明。
还有就是一般产线的机器也不太会有可以直接调试的机会,所以真出现问题也只能在产线机器dump进程,然后下载到本地来慢慢分析。
PS: 请参考官方爸爸的官方安装脚本:https://github.com/dotnet/diagnostics/tree/master/documentation/lldb
环境说明:
os:centos7
dotnet :2.1.1。查看官方文档2.0.0只能使用lldb 3.6;2.1以上必须是3.9.0;所以特别要注意版本问题,一个是createdump 2.0的有bug会失败。二个是dotnet版本和lldb版本要匹配
被调试分析的应用也是用2.1跑起来的。
测试目标程序
yum install dotnet-sdk-2.1
dotnet new mvc
vi /mvc.csproj
#netcoreapp2.0 to netcoreapp2.1
#PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.0" to Version=