首页 > 代码库 > BUG现象与对应0001文件打开没关闭

BUG现象与对应0001文件打开没关闭



从今天开始,我将发表一系列博闻

和大家探讨一下我以前遇到的一些BUG,这些BUG可能你们遇到过,或者还没有遇到。

希望给后来者提供一些帮助。

BUG0001文件打开没关闭


开发语言:


C++


现象:


突然LOG不能输出出了,(刚开始的时候LOG不能写,后来,配置文件也不能读了,程序就什么都做不了了)


后来调试过程中发现下列英文信息:


Too many open files. No more file descriptors are available, so no more files can be opened.


在没看到该信息之前确实调查了很久,因为,如何调试,也是发现不了问题的!!!


 


可能原因:


大家如果发现类似现象,如果调试不是其他问题,那么就可以考虑是否是


下面的原因了,虽然原因很简单,并且也是当然的事情,但是程序写复杂了,就可能有漏掉的,并且


可能由于某种原因,只能在某种情况下发生!



(1)原因是文件打开没关闭
(2)SOCKET没关闭(HTTP通讯)


 


解决策略:


检查所有打开和关闭的代码严格保证匹配


 


以上

BUG现象与对应0001文件打开没关闭