情况1:
我正在使用 Windows 10 操作系统中的 Visual Studio 2010 创建我的应用程序 exe。编码文件位于我的服务器 PC(Windows Server 2012 R2)中。我正在从网络访问编码文件。
在调试期间,我的电脑和 Visual Studio 都没有响应。过了一段时间,我发现我试图调试的 exe(在 VB 项目路径的调试文件夹中创建的 exe)已损坏,并且该 exe 的大小为 0 KB。我没有更改任何代码,只更改了一些引用。我无法删除或移动这个损坏的 exe。如果我尝试删除或重命名这个 exe,我的电脑就会卡住。我甚至尝试重新启动系统(以确认打开的句柄),但 exe 未被删除。奇怪的是,当这个 exe 损坏时,我甚至无法通过 RDP 连接到我的服务器电脑。
案例2:
通过 NT.exe 添加 VB6 应用程序的清单时,命令被挂起,我发现生成的 vb6 exe 文件已损坏且大小为 0 KB。清单添加过程将由网络 Windows 7 客户端 PC 完成,而文件托管在服务器路径中。在这种情况下,我也无法移动或删除错误文件。
在这两种情况下,服务器都会对所有用户变得反应迟钝,几分钟或几小时后,用户就无法从服务器访问任何文件。最近几天这种情况经常发生。
尝试过的方法:
在进程资源管理器中检查文件句柄 – 未找到句柄 检查打开的文件 – 已关闭但未解决 重新启动 PC – 未解决 问题发生后使用命令删除 – 不起作用 检查防病毒日志 – 无错误 事件查看器 – 未找到与文件或程序相关的错误 磁盘检查和错误检查 – 未找到错误 尝试使用此命令“fsutil reparsepoint delete”在 cmd 中删除 – 出现错误,因为访问被拒绝 在服务器中更改 HDD 并检查磁盘。使用解锁软件 – (https://gallery.technet.microsoft.com/file-unlocker-5db9e3d3) –未找到文件锁。
找到临时解决方案:
只有重新启动服务器 PC 后问题才得以解决。但当我尝试重新启动/关闭服务器时,它既不让我重新启动也不让我关闭。所以我最终不得不使用电源按钮通过硬重启方法重新启动服务器。
有什么方法可以验证为什么我的 exe 文件损坏以及为什么它阻止我关闭服务器?
系统规格:
服务器:
操作系统:Windows Server 2012 R2 标准版 64 位
RAM:8GB RAM Samsung ECC RDIMM(适用于服务器)x 2 个
防病毒软件:Symantec Endpoint Protection 版本 12.1.5 Build 5337
硬盘型号:Seagate Constellation ES.3-ST1000NM0033(1TB 硬盘)
RAID:1 和 0
客户端电脑(案例 1):
操作系统:Windows 10 Pro
内存:4GB 创见
防病毒软件:赛门铁克端点保护
硬盘:西部数据 320GB 硬盘(型号:WD3200AVJS-63B6A0)
客户端电脑(案例2):
操作系统:Windows 7 Pro
内存:4GB 创见
防病毒软件:赛门铁克端点保护
硬盘:1 TB SATA 希捷内置(ST31000524NS Constellation ES)