FileSystem Error of Overflow

王朝厨房·作者佚名  2007-01-05
窄屏简体版  字體: |||超大  

终于到家了 昨天刚提到的程序员牛人 今天又发威了 公司的一个实时生产系统 用户在使用过程中发现程序非法退出 我和我老大牛人终于把这个溢出找到了 找了整整一个月了 太辛苦了! 今天好兴奋!

这个生产系统是在一个数据信号记录系统 利用物理电信号输出架构双机并行运行 采用Windows 2000操作系统 程序采用VC++6编写 曾经出现过溢出情况 是在处理UDP非法数据的时候造成SOCKET内存溢出 这次又溢出了 经过全面的测试 最终判断溢出点应该发生在文件系统上面 代码走查后 发现了问题 当硬盘空间满时 系统会自动删除最早一天的数据记录 问题就出现在自动删除功能上 该功能每一个小时遍历一次硬盘剩余空间 当小于800MB时触发自动删除功能 最早一天的数据记录识别是靠文件夹的名称 在某种情况下文件虽然被删除了文件夹没有被删除 但系统一小时候再次遍历硬盘时 发现文件夹还是存在 就认为该文件夹为最早一天的数据 实际上该文件夹中的数据已经被删除了 结果引发了内存的溢出 导致程序非法退出

明天让牛人给我解释解释具体技术问题 结果将记录在这里 当作C/C++程序内存溢出测试的技术积累吧 虽然问题找到了 但是具体的东西 要看明天的分析了 期待...

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航