none
std::deque 内存一直增长问题 RRS feed

  • 问题

  • 用了一个队列 这头一直插入音频文件,插入的是new char 的一个buffer,另外一头一直取数据,取完以后 也delete了,内存一直在增长,也不知道用vld也没检测出来内存泄漏,只要new的地方都delete了,然后内存还一直增长,为什么呢?尝试pop以后用了shrink_to_fit()也没解决 
    2017年7月28日 10:16

全部回复

  • Hi 岁月流年,

    感谢在MSDN论坛发帖。

    >>用了一个队列 这头一直插入音频文件,插入的是new char 的一个buffer,另外一头一直取数据,取完以后 也delete了,内存一直在增长,也不知道用vld也没检测出来内存泄漏,只要new的地方都delete了,然后内存还一直增长,为什么呢?尝试pop以后用了shrink_to_fit()也没解决 

    请提供一些你创建队列,插入数据和删除的代码,方便我们查找问题。

    或者你可以按照使用CRT库查找内存泄漏的步骤,让CRT在程序退出时自动报告任何内存泄漏。 下面的文档里指导说:如果您的应用程序有多个退出,您不需要在每个出口点手动将_CrtDumpMemoryLeaks调用。在应用程序开始时调用_CrtSetDbgFlag将导致在每个退出点自动调用_CrtDumpMemoryLeaks。

    https://msdn.microsoft.com/en-us/library/x98tx3cf(v=vs.140).aspx

    希望对你有所帮助。

    Best Regards,

    Sera Yu


    MSDN Community Support<br/> Please remember to click &quot;Mark as Answer&quot; the responses that resolved your issue, and to click &quot;Unmark as Answer&quot; if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact <a href="mailto:MSDNFSF@microsoft.com">MSDNFSF@microsoft.com</a>.

    2017年7月31日 2:31
  • 已解决,代码写的逻辑问题,谢谢
    • 已建议为答案 Baron Bi 2017年7月31日 9:47
    2017年7月31日 9:44
  • 鉴于你的帖子已经解决,请标记为答案。

    谢谢你的理解与支持。

    Best Regards,

    Sera Yu


    MSDN Community Support<br/> Please remember to click &quot;Mark as Answer&quot; the responses that resolved your issue, and to click &quot;Unmark as Answer&quot; if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact <a href="mailto:MSDNFSF@microsoft.com">MSDNFSF@microsoft.com</a>.

    2017年8月14日 7:07