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