valgrind --leak-check=full --tool=memcheck --show-reachable=yes --track-origins=yes ./TraningClass > /ncast/3.txt 2>&1
在上面的命令中> /ncast/3.txt 2>&1 将输出重定向回特定的文件。
突然发现我明明delete了相关的对象,但内存还是没有释放掉,这是因为在glibc的内存分配策略里,glibc归还内存给OS有一个很苛刻的条件就是top chunk必须是free的,否则,即使应用程序已经释放了大片内存,glibc也不会将这些内存归还给OS。