我的程序a.exe,需要对硬盘进行大量的写操作。假设电脑有E、F盘用来供a.exe进行写操作。a.exe先把数据写在E盘上,当该盘剩余空间小于FreeSpace(FreeSpace的值由自己定义,之前一直设为1G)时,a.exe转到F盘进行操作,继续把数据写到F盘上。
但实际运行程序时,我发现:转盘时,程序先在F盘建了个目录,供数据储存。就在这时,弹出系统对话框“a.exe出现错误,即将被Windows关闭”这类话。后来去查看系统日志,里面写的是E盘已满或即将满,要求我删除一些数据。但实际上,E盘这时还有1G的剩余空间。
后来我把1G的数值调高到2G,发现情况还是这样,在E盘还剩2G空间的时候,程序转到F盘写数据,先建了个目录,然后马上程序给系统关掉了,理由和上面一样。
why?

解决方案 »

  1.   

    WINDOWS的那条错误信息一般在什么情况下出现,有谁知道吗?
    一般是这样“xxx.exe出现错误,即将被Windows关闭...”,然后去查看系统记录,错误的ID号是2013,描述是“E:盘空间已满或即将满,请删除一些数据”这类话,也许不是E盘,而是F盘,总之,是之前写的那个盘。
      

  2.   

    我感觉与虚拟内存关系不是很大,因为虚拟内存大小我没改动过,我看过缺省值是372-700多,而我设置的剩余空间最少都是1G,后来还调到了2G,都是一样的。
    而且,程序被关闭后,在资源管理器里向WINDOWS说要满了的那个盘拷几百M的东西都没问题。