在使用valgrind时,存在一部分仍然可以达到的泄漏,但是最终应由OS清除。是否曾经有过这样的问题?我在考虑带有线程的情况,即在主进程完成之前,操作系统无法清除子进程中仍然可以达到的泄漏,但是我不确定这是否也是可能的情况。
从根本上讲,存在直到执行结束(程序退出)之前不释放使用的内存的问题吗?
答案 0 :(得分:2)
好的。假设您在Valgrind下运行的程序是某些远程请求处理程序的测试用例。在生产中,服务器将处理许多请求。概率仅受系统总正常运行时间限制。因此,每个请求都必须清理其垃圾。
一些测试用例不会模拟服务器的生命周期内存使用,但是它们足以测试没有请求留下垃圾的假设。如果留下了垃圾,那么是否仍然存在指向垃圾的指针是一个错误。 Valgrind可以帮助您解决这个问题。