C# 测试代码时,内核\u数据\u输入\u错误BSOD不断出现

C# 测试代码时,内核\u数据\u输入\u错误BSOD不断出现,c#,.net,memory,windows-7,cryptography,C#,.net,Memory,Windows 7,Cryptography,显然,我的代码中有一个问题,但我太新手了,没有意识到它可能是什么 我设计了一个简单的程序来计算文件的各种加密散列。它似乎在较小的文件上工作得很好(我甚至使用了多个线程)。。。但是当我尝试在一个大的ISO文件(接近4GB)上测试它时,我的计算机非常可靠地崩溃了,出现了内核数据输入错误 我做的事情效率很低吗?在我看来,似乎有太多的内存被用完了,尽管我曾经试图限制内存的使用。。。我不知道是我的代码,还是我的电脑出了问题 fwiw我有一个运行4个线程的i5处理器,以及使用Windows7x64的4GB内

显然,我的代码中有一个问题,但我太新手了,没有意识到它可能是什么

我设计了一个简单的程序来计算文件的各种加密散列。它似乎在较小的文件上工作得很好(我甚至使用了多个线程)。。。但是当我尝试在一个大的ISO文件(接近4GB)上测试它时,我的计算机非常可靠地崩溃了,出现了内核数据输入错误

我做的事情效率很低吗?在我看来,似乎有太多的内存被用完了,尽管我曾经试图限制内存的使用。。。我不知道是我的代码,还是我的电脑出了问题

fwiw我有一个运行4个线程的i5处理器,以及使用Windows7x64的4GB内存


这是我的代码:

问题几乎肯定不在您的程序中。用户模式代码不会产生内核错误。问题要么出在硬件上,要么出在驱动程序上。您应该将搜索指向该方向,而不是研究代码。

问题几乎肯定不在您的程序中。用户模式代码不会产生内核错误。问题要么出在硬件上,要么出在驱动程序上。您应该将搜索指向该方向,而不是调查您的代码。

此代码是ring3,因此它应该永远不会对您的机器进行隐藏。我只能想象你有一个坏的RAM或一个坏的HDD,当你试图分配一个巨大的内存块时,它会触发BSOD。

这个代码是ring3,所以它应该永远不会对你的机器进行BSOD。我只能想象你有坏的RAM或坏的HDD,当你试图分配一个巨大的内存块时,它会触发BSOD。

Haaa。。。。经过长时间的chkdsk之后,我测试的iso文件似乎使用了一个坏扇区。在它被修复之后,我能够成功地使用该文件进行测试。Haaa。。。。经过长时间的chkdsk之后,我测试的iso文件似乎使用了一个坏扇区。修复后,我能够成功地使用该文件进行测试。