我正在使用C编程语言的freopen
函数来跟踪
将所有stderr
消息路由到指定的文本文件。这在测试平台环境中运行良好。但是在生产中,我们遇到了使用freopen()
打开的日志文件的内存不足异常,并且服务器崩溃了。我需要你帮助解决这个问题。
答案 0 :(得分:2)
确保您的日志记录代码没有泄漏资源。
我假设您正在讨论的freopen()
函数,分配内存以保存FILE
结构,并且很可能是例如额外的空间。缓冲I / O.
完成文件后,除非进程即将终止,否则必须对fclose()
返回的指针调用freopen()
。
当然,您的代码中可能存在任何数量的其他资源泄漏。没有看到代码就很难做到这一点。