Directory.GetFiles()导致蓝屏死亡

本文关键字:GetFiles Directory | 更新日期: 2023-09-27 18:30:13

我正在搜索几个月前编码的一个测试项目,不记得我把它放在了哪个解决方案中。我决定写一些快速代码来获取所有Visual Studio 2010项目的c-sharp源文件,并在其中查找我知道应该存在于文件中的文字。

我从调试模式开始,当我的代码执行这个语句时,我得到了一个蓝色的死亡屏幕:

            string[] results = System.IO.Directory.GetFiles(@"C:'Users'<user name>'Documents'Visual Studio 2010'Projects'", "*.cs", SearchOption.AllDirectories);

重新启动后,我查看了事件日志,只看到了一般的意外关闭消息。我提出了临时项目,再次以调试模式运行,并再次获得了BSOD。如果我删除SearchOption.AllDirectories参数,代码不会中断,但也不会得到我想要的结果。但当我把它放回去的时候,BSOD又来了。

有人知道是什么原因导致了这种情况吗?或者我可以在哪里查看(日志等)来了解问题是什么?我在Windows目录中没有看到内核转储,事件日志也没有显示任何对我来说突出的内容。仅供参考,我可以从Windows资源管理器运行相同的搜索,不会出现错误,并且返回所有文件。

*更新*我运行了相同的代码片段,但将文件掩码更改为*.txt,并且它运行时没有任何问题,所以由于某种原因,.cs扩展名会导致错误。列出我在调试中运行的.cs文件时可能有问题吗?

Directory.GetFiles()导致蓝屏死亡

我猜您的某个项目中存在磁盘硬件错误。试着递归地枚举那里的所有文件,并记录它,看看是哪一个导致了BSOD。