windows下,咱们对于.net程序发生Crash,资源泄露,死锁等问题的分析,有神器windbg,那如今咱们的.net core程序运行在linux上时,该怎么进行对对Core Dump文件进行分析呢?今天介绍一款Linux/mac os下的一款调试利器:lldb。python
关于lldb的介绍,你们能够直奔官网传送门。话很少说,先说一下安装步骤。linux
1、先安装依赖:c++
yum -y install gcc gcc-c++ swig python-devel libedit-devel automake autoconf libtool make wget
2、下载llvm源码(注意:.net core2.0.0只能使用lldb 3.6;.net core2.1以上必须是3.9.0,下同): git
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
3、进入llvm/tools目录并下载clang源码:github
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
4、下载lldb源码:windows
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
5、下载compiler-rt的源码:bash
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
6、下载libcxxabi的源码:ui
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
7、下载libcxx的源码:.net
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
8、回到llvm目录,配置编译选项:debug
cd .. ./configure --enable-optimized CC=gcc CXX=g++
9、编译llvm:
make
10、估计得个把小时,编译成功后,单独安装lldb便可:
cd tools/lldb make install
检查是否成功:
lldb version
参考资料:《.NET Core 2.0应用程序高级调试》 Debugging CoreCLR