環境說明:
android-6.0,交叉編譯鏈爲arm-linux-androideabi-4.9
明人不說暗話,直接上步驟:
1. 下載valrind最新源碼valgrind-3.13.0.tar.bz2
2. 解壓
tar xvf valgrind-3.13.0.tar.bz2
3. 配置
./configure --host=arm-linux CC=arm-linux-androideabi-gcc CPP=arm-linux-androideabi-cpp CXX=arm-linux-gnueabihf-g++ --prefix=/phone/valgrind
4.編譯
make & make install
5.拷貝valrind和依賴庫到android
將/phone/valgrind/lib/valgrind 下的庫push到/phone/lib/下
將/phone/valgrind/lib/valgrind 下的庫push到/phone/bin/下
6. 設置依賴庫路徑
export VALGRIND_LIB='/phone/lib/'
7.調試
/phone/bin/valgrind --tool=memcheck --leak-check=full ./test
注意事項:
- 程序最好編譯debug版本,即加上-g -O0,並且不要strip,否則不會打印對應函數
- valrind只有在程序運行完成退出後纔會生成報,如果是守護進程需要手動將valrind或者memcheck進程殺掉後纔會生成報告