いくつかのプログラムを実行するときに、反省する必要がある場合があります。その場合は、エラーメッセージが表示され、その後プログラムが終了します。最後にこの問題はどのように解決されますか。見てください。

' 0x ????????'命令は' 0x ????????'メモリを参照しています。このメモリを読み取ることはできません。

' 0x ????????'命令は' 0x ????????'メモリを参照しているため、メモリに「書き込む」ことはできません。

この現象には、ハードウェア、つまりメモリの問題、ソフトウェアの問題など、さまざまな問題があります。

A:ハードウェアについての最初の話:

一般に、コンピュータのハードウェアは簡単には壊れません。メモリの問題の可能性は大きくありません(あなたのメモリが本当に混乱していない限り)、主な側面は次のとおりです。メモリが壊れている(中古のメモリがほとんどです)、2。品質に問題のあるメモリを使用する、3。マザーボードの金色の指が埃だらけです。 4。非互換性は、異なる容量の異なるブランドのメモリが使用されているときに発生します。 5。ハイパーバンドからの熱放散の問題MemTestソフトウェアを使用してメモリをチェックすると、メモリの安定性を完全に検出できます。

次に、何もない場合は、ソフトウェア側からトラブルシューティングを行います。

まず、原則:メモリにはbufferと呼ばれるデータを格納する場所があります。プログラムがデータをバッファに格納するときには、オペレーティングシステムが適用する「機能関数」を提供する必要があります。新しく作成されたメモリ領域アドレスはアプリケーションに返され、アプリケーションはこのアドレスを介してこのメ​​モリを使用できます。これは「動的メモリ割り当て」であり、メモリアドレスもプログラミングの「カーソル」にあります。メモリは常に入ってくるわけではなく、それは無尽蔵であり、そして時にメモリ割り当てが失敗するでしょう。割り当てが失敗すると、システム関数は0の値を返します。このとき、戻り値0は新しく有効になったカーソルを示すのではなく、エラーが発生したことを通知するためにシステムからアプリケーションに送信される通知を示します。アプリケーションとしては、毎回メモリを適用した後に戻り値が0であるかどうかを確認する必要があります、そうでない場合は障害があることを意味し、それを保存するための対策を講じる必要があります。アプリケーションがこのエラーをチェックしない場合、この値はそれに割り当てられた利用可能なカーソルであると考えて「慣性」に従い、後続の実行でメモリを使い続けます。実0番地メモリ領域には、コンピュータシステム内で最も重要な「割り込みディスクリプタテーブル」が格納されており、アプリケーションを使用することはできません。保護メカニズムのないオペレーティングシステム(DOSなど)では、このアドレスにデータを書き込むとすぐにクラッシュしますが、Windowsなどの堅牢なオペレーティングシステムでは、この操作はシステムの保護メカニズムによって即座に取得されます。オペレーティングシステムは、エラーの拡大を防ぐために、オペレーティングシステムによって強制的に閉じられます。この時点では、上記のメモリは「読み取り」エラーではなく、参照されているメモリアドレスが「0x00000000」であることを示しています。メモリ割り当ての失敗、メモリ不足、システム機能のバージョンの不一致などが原因である可能性があります。したがって、この割り当ての失敗は、(不注意で「インストール済み」ウイルスプログラムを含む)様々なアプリケーションをインストールした後、多数のシステムパラメータおよびシステムファイルを変更した後に、オペレーティングシステムを長期間使用した後により一般的になる。

動的割り当てを使用するアプリケーションでは、プログラムが使用可能なメモリの一部を読み書きしようとしますが、その理由で使用可能なカーソルが期限切れになったことはわかりません。 。 「割り当てを要求するためにオペレーティングシステムに「忘れた」こと、プログラム自体がある時点でメモリから書き込んだ、「注意を払わなかった」ことなどが考えられる。未登録のメモリはシステムによって回収され、そのアクセス権はアプリケーションに属していないため、読み取りおよび書き込み操作によってもシステムの保護メカニズムが起動され、「不正」を試みたプログラムの唯一の終了が操作によって終了し、すべての回復が完了します。リソースコンピュータの世界の法則は人間よりもはるかに効果的で厳格です!このような状況はすべてプログラム自体のバグであり、特定の操作順序でエラーを再現することがよくあります。無効なカーソルは常に0ではないため、エラープロンプトのメモリアドレスは必ずしも「0x00000000」ではなく、他の乱数です。

最初の提案:

1.システムにトロイの木馬またはウイルスがあるかどうかを確認しますか?

2.オペレーティングシステムを更新し、オペレーティングシステムのインストーラに正しいバージョンのシステムを再コピーさせます。ファイル、正しいシステムパラメータ。オペレーティングシステム自体にバグがある場合があります。アップグレードプログラムの公式リリースのインストールに注意してください。

3、アプリケーションの最新の公式バージョンを使用してみてください。ベータ版、試用版にはバグがあります。

4. WinntSystem32WbemRepositoryフォルダ内のファイルを削除して再作成します。デスクトップの[マイコンピュータ]を右クリックし、[管理]をクリックします。 [サービスとアプリケーション]の下の[サービス]をクリックし、Windows Management Instrumentationサービスを閉じて停止します。 WinntSystem32WbemRepositoryフォルダ内のすべてのファイルを削除します。 (削除する前にこれらのファイルのバックアップコピーを作成してください。)[サービスとアプリケーション]を開き、[サービス]をクリックして、WindowsManagementInstrumentationサービスを開いて起動します。サービスが再起動されると、これらのファイルは次のレジストリキーで提供される情報に基づいて再作成されます。HKEY_LOCAL_MACHINESOFTWAREMicrosoftWBEMCIMOMAutorecoverMOFs

Copyright © Windowsの知識 All Rights Reserved