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通讯)

解决策略:

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

以上

时间: 2024-11-12 00:26:59

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

文件操作之增删改查2以及文件打开的其他一些模式

read()会让你读取的光标变成最后. tell()把你现在文件的句柄的指针打印出来.文件的开头指针位置是0 72的意思代表字符的个数.下面的例子,只读取5个字符串个数: 如果你想把光标移回去,移动到首位f.seek(0) f.detach()在文件还没关闭之前,把文件编码从GBK改成UTF-8 f.encoding() 打印打开文件的编码:之前文件是用UTF-8打开的,所以这里显示UTF-8,注意并不是文件文件的存储编码是啥. f.fileno()返回文件的编号,windows有一个专门的接口

Visual Studio 打开解决方案后 弹出框显示 "正在打开文件..." 迟迟没反应 的解决方法

Visual Studio 打开解决方案后 弹出框显示 "正在打开文件...",任务管理器的devenv进程又很正常,不会显示"未响应". 而IDE的左下角有个 "正在等待分析完成..." 提示. 刚开始,我以为是VS插件问题,因为我刚安装了一个插件后,重启VS,打开解决方案就出现这个问题了,所以我以为是VS插件问题. 后来我把VS插件通通卸载了,把/ResetAddin /ResetSkipPkgs /ResetSettings 之类的deve

利用文件打开方式with open('文件名',方式) as 变量名做一个简单的复制(排除大文件bug)

1 #!usr/bin/env python 2 #-*- coding=utf-8 -*- 3 4 with open('b.py','r') as obj1, open('c.py','w') as obj2: 5 for line in obj1.read(): 6 obj2.write(line) 将a.py的数据一行一行的进行复制 节省的了内存 另外 这种打开方式 免除了 之后需要的f.close() 对代码量上有细微的差距...(我自己想的...) 注意:第二个open不接with

【Win10 应用开发】集成文件打开选择器

有朋友给老周提出建议:老周,能不能在写博客时讲一下有深度的小故事?技术文章谁不会写.讲一下对人生有启发性的故事会更好. 哎呀,这要求真是越来越高了.好吧,尽量吧,如果有小故事的话,老周在就每次写博客时写出来:如果没有故事可讲,那只能请您原谅了,呵呵. 有人问老周,你每天都玩手机的吗?答案是肯定的,与时俱进嘛,玩是肯定的.不过,老周从不做低头族,虽然玩,但不会一整天都低着头看手机,这样做让人觉得你很没礼貌(如果一个人独处就没关系),也很没情趣.尤其是一堆人在说话时,你再不喜欢讲话也应该插上一两句,

文件打开后任务栏里面不显示打开的文件名称

打开EXCEL文件时发现任务栏里面不显示打开文件的名称,当时的任务栏没有设置为自动隐藏,这就奇怪了.问度娘,说CTRL+ALT+DELETE打开任务管理器,新建任务,试了一下还是没有解决,最后没办法,在任务管理器里面把一些不需要的进程给结束了,当我把IE浏览器的进程结束后,任务栏立马就显示出刚才打开文件的名称.怪哉!没搞清楚他们之间的原因,但总归解决了问题,此法供大家参考! 文件打开后任务栏里面不显示打开的文件名称,布布扣,bubuko.com

转载:python文件打开方式详解——a、a+、r+、w+区别

第一步 排除文件打开方式错误: r只读,r+读写,不创建 w新建只写,w+新建读写,会将文件内容清零 (以w方式打开,不能读出.w+可读写) **w+与r+区别: r+:可读可写,若文件不存在,报错:w+: 可读可写,若文件不存在,创建 r+与a+区别: [python] view plain copy print? <span style="background-color: rgb(255, 255, 255);">fd = open("1.txt"

Linux最大文件打开数使用经验详解

首先普及几个知识: Linux下一切都是文件,包括输入输出设备.网络连接.socket.管道等 与文件打开数最相关的是文件描述符(有的人喜欢称作文件标识符,英文为file descriptor),文件打开数的实质就是文件描述符的数量 文件打开数的多少取决于系统种类.内存大小,int(语言关键字,如C99的int)长度(非负整数),以及系统管理员的设定 最大文件打开数是针对一个进程而言,即一个进程能打开的文件句柄数目是有限的,不能超过最大文件打开数 ulimit命令只对当前shell有效,因此在编

报表XML导出rtf格式,结果在浏览器中打开XML文件。用360浏览器下载rtf文件打开后出现Authentication failed 问题

报表XML导出rtf格式,结果在浏览器中打开XML文件.用360浏览器下载rtf文件打开后出现Authentication failed 问题 直接上问题图: 问题描述:在Oracle EBS中执行"资源事务处理 XML"请求,选择输出rtf格式,完成后查看输出,却在浏览器中打开了XML文件.        提示:需要检查一下是否有对应的模板文件和模板定义有效时间.        解决方案:1. 查看日志. 从中可以看出出错原因,以及模板代码.2. 添加Oracle XML Publi

offices文件打开乱码问题如何处理

随着各种ERP系统的使用,各种企业报表,文件,数据的导出,难免会遇到文件编码不兼容的问题,打开的文件全部是乱码,怎么处理? 今天在工作中碰到一例从国税系统导出来的数据,全部是乱码,2个用户,在另一个用户的计算机上没啥问题,在第二个用户计算机上就会存在乱码.很诧异...... 诧异归诧异,其实解决还是蛮简单的.了解offices的简单运行原理即可轻松解决: 以.csv文件为例(csv经常会遇到这种问题) (1)首先,用notepad记事本把.csv文件打开,然后选择 另存为... (2) 将编码格