1

There's obviously a problem somewhere in my code, but I am too novice to realize what it might be.

I've designed a simple program to calculate various cryptographic hashes of files. It seems to work great (I've even got it using multiple threads) on smaller files... but when I try to test it on a large ISO file (nearly 4GB), my computer very reliably crashes with a KERNEL_DATA_INPAGE_ERROR.

Am I doing something rather inefficiently? It seems to me like too much memory is being used up, despite the fact that I've tried to limit the use of memory at one time... I wonder if it's my code, or if it's something wrong with my computer...

fwiw I've got an i5 processor running 4 threads, and 4GB of ram using Windows 7 x64.

Here's my code: http://pastebin.com/KA3KrStf

4

2 に答える 2

1

問題はほぼ確実にあなたのプログラムにはありません。ユーザー モード コードは、カーネル エラーを生成しません。問題は、ハードウェアまたはドライバーのいずれかにあります。コードを調査するのではなく、その方向に検索を向ける必要があります。

于 2012-04-27T20:53:03.453 に答える
0

このコードは ring3 であるため、マシンが BSOD になることはありません。RAM や HDD が不良で、大量のメモリを割り当てようとすると BSOD が発生することしか想像できません。

于 2012-04-27T20:53:45.743 に答える