LLVM Clang CompilerRT
git clone [email protected]:epfl-vlsc/memoro.git
cd memoro
编译器
mkdir memoro_compiler
cd memoro_compiler
git clone -b memoro_80 https://github.com/epfl-vlsc/llvm.git
cd llvm/tools
git clone -b memoro_80 https://github.com/epfl-vlsc/clang.git
cd ../projects`
git clone -b memoro_80 https://github.com/epfl-vlsc/compiler-rt.git
cd ../../
mkdir build
cd build
cmake -G "Ninja" ../llvm
ninja
可视化应用程序
cd memoro
npm install
cd cpp
make
cd ../
npm start
针对小型程序进行分析
<path to llvm clone>/bin/clang++ -fsanitize=memoro -g -fno-omit-frame-pointer test.cpp
./a.out
针对大型程序进行分析
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=memoro")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-omit-frame-pointer")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/")
原文始发于微信公众号(FreeBuf):Memoro:一款功能强大的堆栈数据细节分析工具
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论