草庐IT

c++ - FFmpeg内存泄漏

我开发了一个简单的库,修改了我在Internet上找到的一个库。让我害怕的是,当我播放avi时,它会在视频结束时播放并释放内存,但是当我播放视频时,就像内存泄漏一样!虽然视频已经结束并且调用了FreeAll方法(删除上下文等的函数等),但它增长到138mb。这是导致内存泄漏的方法的代码:intVideoGL::NextVideoFrame(){intframeDone=0;intresult=0;doublepts=0;if(!this->ended){if(!_started)return0;AVPacket*packet;//Getthenumberofmillisecondspa

Mac OSX 上的 c++ 内存泄漏检测

我正在用c++编写代码,使用textwrangler编写代码并使用命令行中的g++编译它。我希望能够检测我的代码是否有任何内存泄漏。我尝试过使用valgrind,但它似乎不适合特立独行者,我尝试运行“leaka.out”,其中a.out是运行“g++*.h*.cc”的结果,但我收到错误消息“leaks”找不到您有权访问的名称类似于“a.out”的进程“关于如何进行内存泄漏检查的任何想法?这是输出==1317==Memcheck,amemoryerrordetector==1317==Copyright(C)2002-2012,andGNUGPL'd,byJulianSewardetal

c++ - 如何修复 libudev 内存泄漏?

我正在为hidraw驱动程序下的USB设备实现一个基于libudev的监控代码。我已经实现了来自网络的标准示例,并使用valgrind和gdb检查了内存泄漏。/*******************************************libudevexample.Thisexampleprintsoutpropertiesofeachofthehidrawdevices.Itthencreatesamonitorwhichwillreportwhenhidrawdevicesareconnectedorremovedfromthesystem.Thiscodeismeant

c++ - 如何禁用特定文件的 Visual C++ 内存泄漏检查?

我的一个项目是通过_CrtSetDbgFlag等使用Microsoft提供的内存泄漏检查器。这工作正常,除了我现在想使用一个泄漏小的第三方包内存量。我没有特别需要修复泄漏,但输出很烦人,因为它会掩盖可能引入的“真正”泄漏。如何为特定文件或项目禁用此泄漏检查,但为其他文件或项目保留它?我的理解是,它是通过Debug模式下的一些#define启用的——我有一些小问题,但还没有设法找到我可以#undef将其关闭。 最佳答案 您可以在第一个new文件中的指令,您不想检查内存泄漏并在new指令之后对其进行react。请参阅MSDNhere.仅

c++ - 在 Mac 上使用 Instruments 检查内存泄漏

我一直在努力让Instruments解决我故意构建的内存泄漏问题。我的测试示例如下所示:classLeaker{public:char*_array;Leaker(){_array=newchar[1000];}~Leaker(){}};void*leaker(){void*p=malloc(1000);int*pa=newint[2000];{Leakerl;Leaker*pl=newLeaker();}returnp;}intmain(intargc,char**argv){for(inti=0;i基本上Instruments从未发现明显的泄漏。我很想知道为什么,但后来在“泄漏”面

c++ - 使用 AfxEnableMemoryTracking 检测内存泄漏

有没有人亲自用过MFC提供的AfxEnableMemoryTracking函数检测内存泄漏。它有多大用处? 最佳答案 内存跟踪在MFC调试版本中默认启用。AfxEnableMemoryTracking主要用于在某些代码片段中临时禁用内存跟踪,如果有必要的话。要使用MFC内置内存泄漏检测,请确保每个.cpp文件在所有#include行之后包含以下代码:#ifdef_DEBUG#definenewDEBUG_NEW#endif 关于c++-使用AfxEnableMemoryTracking检

c++ - 追踪 WinSock MFC 应用程序中句柄泄漏的来源

我们正在开发一个应用程序,我们在其中使用基于WinSock的sime套接字方法与外部模块进行通信。我们的要求是确保连接始终处于开启状态,因此,每当我们断开连接时,我们都会每1分钟不断重试连接。我们的问题从这里开始。我们观察到,在每次重试套接字重新连接时,它恰好泄漏了两个Windows句柄。我们尝试了很多选项,但没有一个有效。哪些句柄可能泄漏了,我们如何才能确定罪魁祸首?以下是我们现在使用的代码:boolCSocketClass::ConnectToServer(intnLineNo){stringstrIPAddress;intnPortNo;SOCKET*l_ClientSocket

c++ - 使用 fread() 以相反的顺序读取文件会导致内存泄漏?

我有一个基本上是这样做的程序:打开一些二进制文件向后读取文件(向后,我的意思是它从EOF附近开始,并在文件开头结束读取,即“从右到左”读取文件),使用4MBblock关闭文件我的问题是:为什么内存消耗看起来像下面这样,即使我附加的代码中没有明显的内存泄漏?这是为获取上图而运行的程序源代码:#include#includeintmain(void){//allocatestuffconstintbufferSize=4*1024*1024;FILE*fileHandle=fopen("./input.txt","rb");if(!fileHandle){fprintf(stderr,"N

java - 字节数组的 JNI 内存泄漏

我有一个java程序多次调用native函数。我的问题是这个函数有内存泄漏,我为摆脱它所做的一切都会导致内存转储。任何帮助将不胜感激。这是我的代码JNIEXPORTvoidJNICALLJava_class_method_getInput(JNIEnv*env,jobjectobj){if(inputIsAvailable){intsize=getBufferCurrentIndex();size-=getBufferReadIndex();size*=2;char*finalSendArray=newchar[size];getCommand(finalSendArray);jbyt

c++ - 优先考虑内存泄漏,以免减慢关机速度

Chromium'sdocumentationsays:NOTE:BothSingletonandbase::LazyInstanceprovide"leaky"traitstoleaktheglobalonshutdown.Thisisoftenadvisable(exceptpotentiallyinlibrarycodewherethecodemaybedynamicallyloadedintoanotherprocess'saddressspaceorwhendataneedstobeflushedonprocessshutdown)inordertonottoslowdown