有个只在磁盘接近写满时才复现的存档 bug:读档、存档时崩溃,而且存档文件变成 0 字节的空文件。根因是写文件用了 "wb" 模式——它会先把原文件截断清零,此时如果磁盘没空间写入新内容,原存档就被毁了。
复现步骤
这个 bug 很难自然遇到,得刻意把磁盘填满:
- 跑游戏,在 C 盘生成存档。
- 用管理员权限开 cmd。
dir看当前可用空间 X。fsutil file createnew C:\file.txt X用一个占满剩余空间的大文件把磁盘填满。- 再跑游戏读档并存档 —— 崩溃,且存档变成 0 字节空文件。