windows下,我們對於.net程序發生Crash,資源泄露,死鎖等問題的分析,有神器windbg,那現在我們的.net core程序運行在linux上時,該怎么進行對對Core Dump文件進行分析呢?今天介紹一款Linux/mac os下的一款調試利器:lldb。
關於lldb的介紹,大家可以直奔官網傳送門。話不多說,先說一下安裝步驟。
一、先安裝依賴:
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,下同):
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源碼:
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源碼:
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的源碼:
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的源碼:
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的源碼:
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目錄,配置編譯選項:
cd .. ./configure --enable-optimized CC=gcc CXX=g++
九、編譯llvm:
make
十、估計得個把小時,編譯成功后,單獨安裝lldb即可:
cd tools/lldb make install
檢查是否成功:
lldb version
參考資料:《.NET Core 2.0應用程序高級調試》 Debugging CoreCLR
