在visual中,是否有任何方法可以隐藏安全的内存泄漏以避免正常内存检测?
我使用此调试标志检测内存泄漏:
_CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );我只是花了很多时间研究如何将Boost.Python嵌入到C++项目中。它工作得很好,我对我将拥有的灵活性印象深刻。所有的努力终于有了回报。也就是说,在我意识到灵魂崩溃之前,Python集成有一个内存漏洞。这似乎是一个已知的问题,不会是固定的Does the Python 3 interpreter leak memory when embedded?。由于内存泄漏保持不变,他们说可以安全地忽略它。然而,在Visual中使用泄漏检测对我来说是一个很大的帮助,每次运行程序时都会出现假阳性,这将使检测真正的内存泄漏变得更加困难。我不想放弃,但我不想放弃巨蟒皮革。
有什么办法让我隐藏记忆泄漏吗?将代码包装在一个静态库中,DLL,单独的进程,有什么?!如果我听起来很绝望,那是因为这和我的感觉很接近。;)
发布于 2014-05-22 04:53:12
_CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) & ~_CRTDBG_ALLOC_MEM_DF);
// allocations here are ignored by memory leaks tracker
_CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_ALLOC_MEM_DF);
// memory leaks tracking continues恢复内存泄漏跟踪到其原始状态的通用版本:
int flags = _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG);
_CrtSetDbgFlag(flags & ~_CRTDBG_ALLOC_MEM_DF);
// allocations here are ignored by memory leaks tracker
_CrtSetDbgFlag(flags);
// memory leaks tracking returns to its original statehttps://stackoverflow.com/questions/23796829
复制相似问题