在对一个较大的程序进行故障排除的过程中,我发现以下原因导致我的计算机以循环变量gg的随机迭代次数重新引导。我以为打开和关闭同一个文件可能是导致此问题的原因(也许是因为它在下一次打开之前没有真正关闭?),所以我也尝试根据循环变量的模数(2)打开另一个文件,但这也崩溃了。有谁知道为什么这会使我的计算机崩溃? EventViewer并不是很有帮助,但是其中一些(并非全部)崩溃是由iaStorA(英特尔应用存储驱动器A)引起的。某些iaStorA事件只是导致暂时挂起,但它可以恢复。我有SATA SSD。
int main()
{
unsigned Cy = 17;
unsigned Nc = 860527;
for (int gg = 0; gg < 5000; gg++)
{
FILE* fid = fopen("scooby.bin", "w");
for (unsigned cl = 0; cl < Nc; cl++)
{
fprintf(fid, "@Cluster%u\n", cl + 1);
}
fclose(fid);
printf("gg = %d\n", gg);
}
return 0;
}
答案 0 :(得分:0)
罪魁祸首是英特尔快速存储技术驱动程序。更新到最新的驱动程序似乎已经解决了问题。