Windows system >> Windowsの知識 >  >> Windowsチュートリアル合成 >> システムFAQ >> Windowsメモリエラーの対処方法

Windowsメモリエラーの対処方法

  

Windowsオペレーティングシステムを使用している多くの人がこのようなエラーメッセージに遭遇することがありますが、その対処方法はメモリエラーですか?エラーの原因を特定する方法?

"' 0X ????????'命令は" 0x00000000 "のメモリを参照しているため、メモリを" ld "にすることはできず、" read "または" write "にすることができ、アプリケーションは閉じられます。

「マスター」に尋ねると、答えは「Windowsはとても不安定です」という憤りと軽蔑です。実際、このエラーは必ずしもWindowsの不安定性が原因ではありません。この記事では、このエラーの一般的な理由について簡単に分析します。

まず、アプリケーションはメモリ割り当ての失敗をチェックしません。

プログラムがデータを保存するためにメモリを必要とする場合、オペレーティングシステムが提供する「関数関数」を使用して適用します。関数は新しく作成されたメモリ領域アドレスをアプリケーションに返します、そしてアプリケーションはこのアドレスを通してこのメ​​モリを使うことができます。これは「動的メモリ割り当て」であり、メモリアドレスはプログラミングにおける「カーソル」でもあります。メモリは常に入ってくるわけではなく、それは無尽蔵であり、そして時にはメモリ割り当ては失敗するでしょう。割り当てが失敗すると、システム関数は値0を返します。この場合、戻り値 "0"は新しく有効になったカーソルではなく、エラーが発生したことを通知するためにシステムからアプリケーションに送信される通知です。アプリケーションとしては、毎回メモリを適用した後に戻り値が0であるかどうかを確認する必要がありますが、そうでない場合は障害があることを意味し、それを保存するための対策を講じる必要があります。アプリケーションがこのエラーをチェックしない場合は、「思考慣性」を使ってこの値が割り当てられている利用可能なカーソルであると考え、それ以降の実行でこのメモリを使い続けます。

実アドレス0のメモリ領域には、コンピュータシステム内で最も重要な「割り込み記述子テーブル」が格納されています。アプリケーションでは絶対に使用できません。保護メカニズムのないオペレーティングシステム(DOSなど)では、このアドレスにデータを書き込むとすぐにクラッシュしますが、Windowsなどの堅牢なオペレーティングシステムでは、この操作はシステムの保護メカニズムによって即座に取得されます。オペレーティングシステムは、エラーの拡大を防ぐために、オペレーティングシステムによって強制的に閉じられます。このとき、上記の「メモリ書き込み」エラーが発生し、参照されるメモリアドレスは「0x00000000」です。メモリ割り当ての失敗、メモリ不足、システム機能のバージョンの不一致などが原因である可能性があります。そのため、さまざまなアプリケーション(誤って "インストール"されたウイルスプログラムを含む)をインストールした後、多数のシステムパラメータやシステムファイルを変更した後で、オペレーティングシステムを長期間使用した後は、この割り当てエラーがより一般的です。

次に、アプリケーションが独自のバグによる異常なメモリカーソルを参照しています。

動的割り当てのアプリケーションでは、ときどきそのような状況が発生します。メモリは使用可能ですが、この予想で使用可能なカーソルが期限切れになった理由はわかりません。 「忘れた」ことがオペレーティングシステムへの割り当てを要求しているか、プログラム自体がある時点でメモリからログオフしていて「注意を払っていない」などの可能性があります。登録されていないメモリはシステムによって回収され、そのアクセス権はアプリケーション内に存在しなくなるため、読み取りおよび書き込み操作によってもシステムの保護メカニズムが起動されます。コンピュータの世界の法則は人間よりもはるかに効果的で厳格です!このような状況はすべてプログラム自体のバグであり、特定の操作順序でエラーを再現することがよくあります。無効なカーソルは常に0ではないため、エラープロンプトのメモリアドレスは必ずしも「0x00000000」ではなく、他の乱数です。システムがエラーメッセージに頻繁に言及している場合は、以下の提案を説明します。

Copyright © Windowsの知識 All Rights Reserved