我正在使用C#前端在VS2010中开发一个应用程序,它通过C ++ / CLI包装器使用本机C ++ DLL。我注意到只有在发布模式下才会发生严重的内存泄漏(或引用泄漏)。在调试模式下,应用程序的内存占用量是稳定的。
我已将问题的根源缩小为视频播放循环,并且在某些时候相当有信心视频数据未被正确处理。但是,我想知道我应该特别注意在发布模式下发生的泄漏。
对于它的价值,在有问题的C ++ / CLI类中,我正在实现如here所示的dispose / finalize模式。
答案 0 :(得分:5)
如果我是你,我会寻找对assert
或#ifdef _DEBUG/#endif
类型构造中的释放函数的调用。
答案 1 :(得分:0)
完成项目设置并检查所有运行时库。 有时问题实际上不是您要链接到的运行时库本身,而是您在项目中设置为忽略的运行时库。
根据microsoft的这一页,您必须仔细关注哪个库可以忽略,具体取决于您使用的库。