web-dev-qa-db-ja.com

KinectSDKの破損したメモリエラー

KinectSDKを使用してXNAでプログラムを作成しました。プログラムは私のPCや他の多くのPCで完全に正常に実行されていますが、あるシステムでこのプログラムを開くと、次のエラーが発生します。

_ Attempted to read or write protected memory. This is often an indication that other memory is corrupt. 
_

プログラムが停止し、spritebatch.End()にエラーメッセージが表示されます。

なぜこのエラーメッセージが表示されるのか理解できません。

私が使用しているシステムには4GBのRAMがあり、問題を引き起こしているシステムには2GBのRAMがあります。どちらのシステムもCORE2Duoです。メモリが問題ですか、それとも他の問題ですか?

4
Aftab Aamir

はい、これはメモリの問題である可能性があります。 http://social.msdn.Microsoft.com/Forums/en-US/71f134bd-d665-43b5-8c67-52c4d6ed4ed9/kinect-driver-problem?forum=kinectsdknuiapi の回答をご覧ください。 =。システムを再起動し、不要なプロセスをすべて停止して(メモリ使用量を最小限に抑えるため)、プログラムの実行を再試行してください。

私はこの正確な問題を抱えていました。うまくいけば、これは将来誰かを助けるでしょう。私のメンバーシッププロジェクト(クラスのみを含む)は32ビット用に構築されており、私のアプリはそれらを64ビット用に消費しています。両方が32ビットであり、問​​題が解決されていることを確認しました。

2
Code_Ninja

私の場合、仮想マシン(VM)を使用していました。グーグルした後、VMに十分なRAMがないことがわかりました。 RAMで使用可能なVMを増やすと、修正されました。

0
Fred

私にとって魅力のように働いた。

とにかく、解決策はJIT最適化を有効にすることでした。つまり、Visual Studio 2008では、[ツール]、[オプション]の順に選択します。 「デバッグ」と「一般」を選択し、「モジュールロード時のJIT最適化の抑制」という行を見つけます。この種の方法により、デバッガーとJITコンパイル済みコードが同期しなくなっていないことが確認されます。これは、JITコンパイラーがコードの非常に優れたオプティマイザーであるためです。これでうまくいきました。

http://dennis.bloggingabout.net/2009/06/08/attempted-to-read-or-write-protected-memory-in-a-net-application/

0
MauroSchaparini