Linux下调试.Net core(1):lldb的安装
windows下,我们对于.net程序发生Crash,资源泄露,死锁等问题的分析,有神器windbg,那现在我们的.net core程序运行在linux上时,该怎么进行对对Core Dump文件进行分析呢?今天介绍一款Linux/mac os下的一款调试利器:lldb。
关于lldb的介绍,大家可以直奔官网传送门。话不多说,先说一下安装步骤。
一、先安装依赖:
1 | yum -y install gcc gcc -c++ swig python-devel libedit-devel automake autoconf libtool make wget |
二、下载llvm源码(注意:.net core2.0.0只能使用lldb 3.6;.net core2.1以上必须是3.9.0,下同):
1 2 3 | wget http: //releases .llvm.org /3 .6.0 /llvm-3 .6.0.src. tar .xz tar -xf llvm-3.6.0.src. tar .xz mv llvm-3.6.0.src llvm |
三、进入llvm/tools目录并下载clang源码:
1 2 3 4 | cd llvm /tools wget http: //releases .llvm.org /3 .6.0 /cfe-3 .6.0.src. tar .xz tar -xf cfe-3.6.0.src. tar .xz mv cfe-3.6.0.src clang |
四、下载lldb源码:
1 2 3 | wget http: //releases .llvm.org /3 .6.0 /lldb-3 .6.0.src. tar .xz tar -xf lldb-3.6.0.src. tar .xz mv lldb-3.6.0.src lldb |
五、下载compiler-rt的源码:
1 2 3 4 | cd .. /projects wget http: //releases .llvm.org /3 .6.0 /compiler-rt-3 .6.0.src. tar .xz tar -xf compiler-rt-3.6.0.src. tar .xz mv compiler-rt-3.6.0.src compiler-rt |
六、下载libcxxabi的源码:
1 2 3 | wget http: //releases .llvm.org /3 .6.0 /libcxxabi-3 .6.0.src. tar .xz tar -xf libcxxabi-3.6.0.src. tar .xz mv libcxxabi-3.6.0.src libcxxabi |
七、下载libcxx的源码:
1 2 3 | wget http: //releases .llvm.org /3 .6.0 /libcxx-3 .6.0.src. tar .xz tar -xf libcxx-3.6.0.src. tar .xz mv libcxx-3.6.0.src libcxx |
八、回到llvm目录,配置编译选项:
1 2 | cd .. . /configure -- enable -optimized CC= gcc CXX=g++ |
九、编译llvm:
1 | make |
十、估计得个把小时,编译成功后,单独安装lldb即可:
1 2 | cd tools /lldb make install |
检查是否成功:
1 2 | lldb version |
参考资料:《.NET Core 2.0应用程序高级调试》 Debugging CoreCLR
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?