在代码

时间:2017-10-05 15:02:42

标签: windows file ntfs

我们的软件以某种方式在客户站点创建了一个损坏的文件,但证明无法重现或隔离错误。我们能想到的每一项测试都是有效的。系统的其余部分很好,这只影响一个文件(强烈暗示编码错误)。删除文件可以恢复系统,没有明显的不良影响。

客户退回了电脑:

  • 尝试在文本编辑器中复制或打开文件会生成:The file or directory is corrupted and unreadable.
  • 尝试使用十六进制编辑器(例如HxD)读取文件会生成File stream error.
  • 在NTFS卷上运行chkdsk /V会生成诊断消息FILE first allocation unit is not valid. The entry will be truncated.

对于测试,是否可能创建损坏的文件,例如。在NTFS主文件表中有一个无效的first allocation unit条目?任何语言都可以,但理想情况下是C / C ++,C#或Delphi代码。

更新

在卷上运行chkdsk /F后,文件现已修复。以下条目显示在Windows>中应用程序事件日志:

\ PATH \ CORRUPTED-FILE.ini第一个分配单元无效。该条目将被截断。

0 个答案:

没有答案