我正在开发一个内存泄漏工具,问题是:这个工具应该只捕获来自测试程序的内存泄漏,但是实际发生的情况是,我使用API timer_create (POSIX)创建了一个计时器,这在某种程度上导致了144+56字节的泄漏。
知道怎么阻止它吗?如何确保没有记录来自timer_create的所有malloc请求?
我使用的是计时器线程函数方法,而不是信号。SIGEV_THREAD
发布于 2011-04-06 12:21:33
我没有在您报告的内存泄漏中看到任何N,只是一个小的常量,所以我最初的猜测是,这纯粹是设置计时器线程系统的一次性开销,而不是实际的内存泄漏。尝试使用strace运行您的程序,并确保计时器已被销毁。如果是这样的话,剩下的任何内部内存都是实现的质量问题,而不是程序中的潜在错误。
顺便说一句,另一种很好的测试方法是:创建10或100个计时器,然后全部销毁,并比较内存“泄漏”的数量。如果它和一个一样的话,我会说没有问题。
https://stackoverflow.com/questions/5565229
复制相似问题