1 2 valgrind output will go to log 3 VALGRIND_DO_LEAK_CHECK 4 8 bytes in 1 blocks are definitely lost in loss record ... of ... 5 by 0x........: doit() (leak_cpp_interior.cpp:89) 6 by 0x........: main (leak_cpp_interior.cpp:104) 7 8 LEAK SUMMARY: 9 definitely lost: 8 bytes in 1 blocks 10 indirectly lost: 0 bytes in 0 blocks 11 possibly lost: 0 bytes in 0 blocks 12 still reachable: 187 bytes in 7 blocks 13 of which reachable via heuristic: 14 stdstring : 80 bytes in 2 blocks 15 newarray : 11 bytes in 1 blocks 16 multipleinheritance: 48 bytes in 2 blocks 17 suppressed: 0 bytes in 0 blocks 18 Reachable blocks (those to which a pointer was found) are not shown. 19 To see them, rerun with: --leak-check=full --show-leak-kinds=all 20 21 leak_check summary heuristics multipleinheritance 22 LEAK SUMMARY: 23 definitely lost: 8 (+0) bytes in 1 (+0) blocks 24 indirectly lost: 0 (+0) bytes in 0 (+0) blocks 25 possibly lost: 91 (+91) bytes in 3 (+3) blocks 26 still reachable: 96 (-91) bytes in 4 (-3) blocks 27 of which reachable via heuristic: 28 stdstring : 0 (-80) bytes in 0 (-2) blocks 29 newarray : 0 (-11) bytes in 0 (-1) blocks 30 multipleinheritance: 48 (+0) bytes in 2 (+0) blocks 31 suppressed: 0 (+0) bytes in 0 (+0) blocks 32 To see details of leaked memory, give 'full' arg to leak_check 33 34 leak_check summary any heuristics newarray 35 LEAK SUMMARY: 36 definitely lost: 8 (+0) bytes in 1 (+0) blocks 37 indirectly lost: 0 (+0) bytes in 0 (+0) blocks 38 possibly lost: 128 (+37) bytes in 4 (+1) blocks 39 still reachable: 59 (-37) bytes in 3 (-1) blocks 40 of which reachable via heuristic: 41 newarray : 11 (+11) bytes in 1 (+1) blocks 42 multipleinheritance: 0 (-48) bytes in 0 (-2) blocks 43 suppressed: 0 (+0) bytes in 0 (+0) blocks 44 To see details of leaked memory, give 'full' arg to leak_check 45 46 leak_check summary heuristics stdstring 47 LEAK SUMMARY: 48 definitely lost: 8 (+0) bytes in 1 (+0) blocks 49 indirectly lost: 0 (+0) bytes in 0 (+0) blocks 50 possibly lost: 59 (-69) bytes in 3 (-1) blocks 51 still reachable: 128 (+69) bytes in 4 (+1) blocks 52 of which reachable via heuristic: 53 stdstring : 80 (+80) bytes in 2 (+2) blocks 54 newarray : 0 (-11) bytes in 0 (-1) blocks 55 suppressed: 0 (+0) bytes in 0 (+0) blocks 56 To see details of leaked memory, give 'full' arg to leak_check 57 58 Searching for pointers pointing in 20 bytes from 0x........ 59 *0x........ interior points at 8 bytes inside 0x........ 60 Address 0x........ is 0 bytes inside data symbol "ptr" 61 block at 0x........ considered reachable by ptr 0x........ using newarray heuristic 62 destruct MyClass 63 destruct MyClass 64 destruct MyClass 65 destruct Ce 66 destruct Be 67 destruct Ae 68 destruct Ce 69 destruct Be 70 destruct Ae 71 destruct C 72 destruct B 73 destruct A 74 destruct C 75 destruct B 76 destruct A 77 Finished! 78 79 HEAP SUMMARY: 80 in use at exit: 0 bytes in 0 blocks 81 total heap usage: 8 allocs, 8 frees, 195 bytes allocated 82 83 All heap blocks were freed -- no leaks are possible 84 85 For counts of detected and suppressed errors, rerun with: -v 86 ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0) 87