c/c++ 使用valgrind检查内存泄漏

ys@ysm:tests$ valgrind --tool=memcheck --leak-check=full ./a.out
==7503== Memcheck, a memory error detector
==7503== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==7503== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info
==7503== Command: ./a.out
==7503==
tid=7503, constructing 0x5c3e0b0
tid=7510, 0x5c3e0b0 name=only one
tid=7503, 0x5c3e0b0 name=only one, changed
tid=7503, constructing TestNoDestroy 0x5c3e3c0
with valgrind, you should see 1-byte memory leak.
tid=7503, destructing 0x5c3e0b0 only one, changed
==7503==
==7503== HEAP SUMMARY:
==7503==     in use at exit: 1 bytes in 1 blocks
==7503==   total heap usage: 7 allocs, 6 frees, 476 bytes allocated
==7503==
==7503== LEAK SUMMARY:
==7503==    definitely lost: 0 bytes in 0 blocks
==7503==    indirectly lost: 0 bytes in 0 blocks
==7503==      possibly lost: 0 bytes in 0 blocks
==7503==    still reachable: 1 bytes in 1 blocks
==7503==         suppressed: 0 bytes in 0 blocks
==7503== Reachable blocks (those to which a pointer was found) are not shown.
==7503== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==7503==
==7503== For counts of detected and suppressed errors, rerun with: -v
==7503== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
ys@ysm:tests$ g++ Singleton_test.cc -std=c++11 -lmuduo_base -pthread -g
ys@ysm:tests$ valgrind --tool=memcheck --leak-check=full ./a.out
==7529== Memcheck, a memory error detector
==7529== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==7529== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info
==7529== Command: ./a.out
==7529==
tid=7529, constructing 0x5c3e0b0
tid=7530, 0x5c3e0b0 name=only one
tid=7529, 0x5c3e0b0 name=only one, changed
tid=7529, destructing 0x5c3e0b0 only one, changed
==7529==
==7529== HEAP SUMMARY:
==7529==     in use at exit: 0 bytes in 0 blocks
==7529==   total heap usage: 6 allocs, 6 frees, 475 bytes allocated
==7529==
==7529== All heap blocks were freed -- no leaks are possible
==7529==
==7529== For counts of detected and suppressed errors, rerun with: -v
==7529== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
c/c++ 学习互助QQ群:877684253 本人微信:xiaoshitou5854

c/c++ 使用valgrind检查内存泄漏

上一篇:Android 5 / L上的Valgrind崩溃


下一篇:valgrind的局限性