仅在释放模式下内存泄漏

时间:2013-08-14 14:40:24

标签: c# c++ visual-studio-2010 memory-leaks c++-cli

我正在使用C#前端在VS2010中开发一个应用程序,它通过C ++ / CLI包装器使用本机C ++ DLL。我注意到只有在发布模式下才会发生严重的内存泄漏(或引用泄漏)。在调试模式下,应用程序的内存占用量是稳定的。

我已将问题的根源缩小为视频播放循环,并且在某些时候相当有信心视频数据未被正确处理。但是,我想知道我应该特别注意在发布模式下发生的泄漏。

对于它的价值,在有问题的C ++ / CLI类中,我正在实现如here所示的dispose / finalize模式。

2 个答案:

答案 0 :(得分:5)

如果我是你,我会寻找对assert#ifdef _DEBUG/#endif类型构造中的释放函数的调用。

答案 1 :(得分:0)

完成项目设置并检查所有运行时库。 有时问题实际上不是您要链接到的运行时库本身,而是您在项目中设置为忽略的运行时库。

根据microsoft的这一页,您必须仔细关注哪个库可以忽略,具体取决于您使用的库。