我正在为使用libavcodec,而avformat_open_input()似乎存在严重的内存泄漏。如果我打开5,000个视频,操作系统会报告在应用程序退出时没有释放的2GB内存消耗。以下是代码:
AVFormatContext *pFormatCtx = NULL;
AVDictionary *dict = NULL;
int result = 0;
av_register_all();
// open the input video file
IntPtr ip = Marshal::StringToHGlobalAnsi(videoFilename);
const char* fi
我使用的是Windows7,使用gcc version 4.8.1编译。我有一个大型的多线程C程序,它对fopen和fclose进行了大量调用。如果它运行的时间足够长,它就会开始无法打开文件。我使用<errno.h>进行调试,得到了一个Too many open files错误,尽管一次打开的文件不应该超过几个。我已经检查了代码很多次,都找不到bug (每次对fopen的调用都会有一个相应的fclose调用被执行,并且没有一个函数使用超过一个FILE*变量)。还有进一步的调试建议吗?特别是有没有一个函数可以返回当前打开的文件数?
我在mysql中使用java、GWT和hibernate。为了避免太多的连接异常,我在我的应用程序中配置了c3p0,但在配置之后,当我将我的应用程序部署到tomcat并运行应用程序时,在5到10个请求之后,应用程序崩溃,并且在tomcat日志中,我反复得到以下异常:
org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
SEVERE: The web application [/war] created a ThreadLocal with key of type [java.lang.ThreadLo