1. cd where-you-want-llvm-to-live
svn co http://llvm.org/svn/llvm-project/llvm/trunkllvm
2. cd llvm/tools
svn co http://llvm.org/svn/llvm-project/cfe/trunkclang
cd ../..
3. cd llvm/projects
svn co http://llvm.org/svn/llvm-project/compiler-rt/trunkcompiler-rt
cd ../..
4. cd cmake-3.4.3
./configure
make
make install
5. mkdir where-you-want-build-llvm
cd where-you-want-build-llvm
exportCLANG_GCC=/usr/local/gcc-4.8.2/
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=${CLANG_GCC}/bin/gcc-DCMAKE_CXX_COMPILER=${CLANG_GCC}/bin/g++ -DGCC_INSTALL_PREFIX=${CLANG_GCC} ../
make
make install
6. 在自己的工程增加编译参数-fsanitize=address -fno-omit-frame-pointer
7. 编译自己的工程
8. 如果出现内存问题,根据AddressSanitizer报告中的地址查看出错位置
addr2line -e game_server 0x51e005 –f
或者将报告保存成文本,使用AddressSanitizer工具定位出错位置
cat log | python asan_symbolize.py | c++filt
参考的文章收藏下来:
http://blog.csdn.net/c_sdnq2451q/article/details/46999119
http://www.xuebuyuan.com/491332.html
http://blog.csdn.net/templarzq/article/details/25318011