valgrind检测内存出来的有关问题
valgrind检测内存出来的问题
LEAK SUMMARY:
==6532== definitely lost: 432 bytes in 12 blocks
==6532== indirectly lost: 0 bytes in 0 blocks
==6532== possibly lost: 0 bytes in 0 blocks
==6532== still reachable: 328 bytes in 6 blocks
这样有问题吗?源代码的作者说是文件操作,其实没问题。
但是运行的时候,内存消耗约每3秒增加0.2%。
当更换大点规模输入的时候,内存消耗约每3秒增加4%。
我是在别人代码的基础上改的,都没用指针。
怎么会这样?
------解决方案--------------------
definitely lost: 432 bytes in 12 blocks
已经检测到的泄露
still reachable: 328 bytes in 6 blocks
有可能会发生的泄露
------解决方案--------------------
==6532== definitely lost: 432 bytes in 12 blocks
这句话能说明问题了。
没有用指针这个说法不太准确,你总有申请内存的地方,如果是堆上申请的(new,malloc)的内存,用完释放了吗?向一个容器里放的对象删除了吗?栈上的内存是不是死循环里用了alloca没有手动释放?
LEAK SUMMARY:
==6532== definitely lost: 432 bytes in 12 blocks
==6532== indirectly lost: 0 bytes in 0 blocks
==6532== possibly lost: 0 bytes in 0 blocks
==6532== still reachable: 328 bytes in 6 blocks
这样有问题吗?源代码的作者说是文件操作,其实没问题。
但是运行的时候,内存消耗约每3秒增加0.2%。
当更换大点规模输入的时候,内存消耗约每3秒增加4%。
我是在别人代码的基础上改的,都没用指针。
怎么会这样?
------解决方案--------------------
definitely lost: 432 bytes in 12 blocks
已经检测到的泄露
still reachable: 328 bytes in 6 blocks
有可能会发生的泄露
------解决方案--------------------
==6532== definitely lost: 432 bytes in 12 blocks
这句话能说明问题了。
没有用指针这个说法不太准确,你总有申请内存的地方,如果是堆上申请的(new,malloc)的内存,用完释放了吗?向一个容器里放的对象删除了吗?栈上的内存是不是死循环里用了alloca没有手动释放?