Windows のランタイム エラー はオペレーティング システム自体と同じくらい古いものです。これはアプリがクラッシュしたときに表示される一般的なエラー メッセージですが、ランタイム エラーとは正確には何で、それに対して何ができるのでしょうか?
ソフトウェア開発は複雑で、最新のアプリケーションが期待どおりに動作するには、高度なライブラリとサポート データに依存しています。このガイドは、実行時エラーが発生する理由と、それを最小限に抑える方法を理解するのに役立ちます。
実行時エラーとは何ですか?
「実行時エラー」という用語は、プログラム実行時のアプリケーション エラーを指します。言い換えれば、それは実行中のプログラムで発生します。これは、プログラムのコンパイル時に発生するエラーとは対照的です。コンパイルは、プログラミング コード (「ソース」コード) を取得し、オペレーティング システムが起動できるバイナリ コードに変換するプロセスです。ソース コードの一部が無効な場合、コンパイラは停止し、エラー メッセージが表示されます。
ランタイム エラーは、コンパイルされた実行可能ファイルが次に何をすればよいかわからない状況、または何かが通常の動作を妨げる状況に遭遇したときに発生します。この時点で、問題は解決し、実行時エラーが発生します。
さまざまな種類のランタイム エラー
実行時エラーは非常に広範囲に定義されているため、トラブルシューティングが難しい場合があります。これは、発生する可能性のある一般的なタイプのエラーを理解するのに役立ちます。以下の 5 つのエラー タイプはすべてを網羅しているわけではありませんが、最も可能性の高い原因です。
ロジック エラー
論理エラーは、コンピュータが文字通り「計算しません 」に遭遇したときに発生します。これは、プログラムのコードによって生成される出力であり、コードのロジックが追従しなかったり、プログラマーが特定の条件や入力のセットを予期しなかったりするために、予期しない結果、場合によっては不可能な結果が生成されます。
メモリ リーク
メモリ リークは、プログラムが要求したメモリが必要なくなった後に返さない場合に発生します。時間の経過とともに、メモリ リークにより他のプログラムに残されるリソースがますます少なくなり、パフォーマンスが低下し、最終的には実行時エラーが発生します。ランタイム エラーを報告するソフトウェアは通常、メモリ リークのあるソフトウェアではないため、これは興味深いものです。それは単なる漏洩の被害者です。.
ゼロ除算
ゼロで割ることは不可能なので、コンピュータがゼロで除算しようとすると、ブラック ホールに突入します。冗談です! 「ゼロで除算できません」という実行時エラーが発生してプログラムがクラッシュします。
未定義のオブジェクト
このエラーは通常、Java および JavaScript に関連しており、変数には値が割り当てられていない、または宣言されていません。つまり、変数にデータがないか、コードが存在しない変数を参照しています。基本的に、プログラマが何らかの方法で失敗したのです。
IO エラー
IO エラーまたは入出力エラーは、プログラムがストレージ デバイスからデータを読み書きしようとして失敗したときに発生します。これには、ドライブの切断からハードドライブや USB ハードウェアの故障まで、さまざまな理由が考えられます。光ディスクの傷も IO エラーの一般的な原因です。
実行時エラーを修正する方法
あなたは、実行時エラーに遭遇し、何かをやり遂げようとしていたために落ち込んでいます。実行時エラーにはさまざまな種類があり、特定のエラーがどの種類であるかを知る手がかりになる可能性があることを上で述べましたが、詳細に関係なく機能する可能性のある一般的な修正がいくつかあります。
コンピュータを再起動します
コンピュータを再起動すると、メモリ リークの問題が解決したり、プログラムの停止の原因となった一時データ キャッシュやその他の作業データが消去されたりする可能性があります。再起動後に問題が解決した場合、原因の解決には役立ちませんが、時折発生する問題の場合は、再起動を試してみるのが迅速な解決策です。
アプリケーションを更新する
多くの場合、ソフトウェアの実行時エラーはソフトウェア自体のバグが原因で発生します。ソフトウェア開発者がこれらのバグに気づくと、通常は問題を修正し、アプリケーションのアップデートをリリースします。したがって、最初に行うべきことの 1 つは、ソフトウェアのアップデートが利用可能かどうかを確認することです。
おそらくもっと重要なことは、Windows ランタイム エラーが発生した場合は、開発者に報告する必要があるということです。場合によっては、エラー メッセージの横に報告ボタンが表示されることがあります。また、スクリーンショットを撮るか、エラー コードを書き留めて、電子メールやソーシャル メディアで連絡する必要がある場合もあります。新しいバグを報告すると、修正を迅速に取得できる可能性があります。.
Windows を更新する
ランタイム エラーは、Microsoft Windows 自体のバグやその他の問題が原因で発生することもありますが、これらは Windows アップデートで修正されることがよくあります。小さな問題は通常、特定の緊急の問題を修正する小規模なアップデートである「ホットフィックス」で解決されます。
または、Windows アップデート直後にプログラムでランタイム エラーが発生し始めた場合は、開発者がソフトウェアをアップデートするまで 最後の更新を削除する 待つことをお勧めします。
古いドライバーを更新する
ドライバーは、オペレーティング システムがディスプレイ アダプター (別名グラフィック カード) などのハードウェアを制御できるようにするソフトウェアです。新しいソフトウェアまたは新しく更新されたソフトウェアは、最新バージョンのドライバにのみ存在する機能に依存している場合があるため、コンピュータ コンポーネントをドライバーを更新する すると、ハードウェア関連のランタイム エラーが修正される可能性があります。
アプリケーションを再インストールまたは修復する
ランタイム エラーは、アプリケーション ファイルまたはデータの破損が原因である可能性があります。したがって、プログラムの実行可能ファイルが動作する必要のあるデータにアクセスしようとすると、データが間違っているか欠落しているため、エラーが発生します。
アプリケーションをアンインストールして再インストールすると、破損したデータを新しいコピーで上書きできます。最初にアプリケーションをアンインストールする必要はない場合があります。多くのアプリでは、インストーラーを再度実行するか、コントロール パネルの [プログラムと機能] セクションからアンインストール 試行すると、「修復」または「検証」オプションが表示されます。
他のアプリをすべて閉じます
メモリ リークや、特定のアプリが利用可能な以上のメモリを必要とすることが原因で発生するランタイム エラーは、開いている不要なプログラムを閉じることで軽減できます。また、スワップ ファイルのサイズを調整して、RAM に収まらないアプリ用にもう少し余裕を持たせることもできます。
ランタイム エラーの原因がメモリ リークではなくメモリ容量にあることが確実な場合は、より重いワークロードを処理できるようにコンピュータの RAM の容量をアップグレードすることも検討できます。
Windows をセーフ モードで実行するか、クリーン ブートを実行します
発生しているランタイム エラーがバックグラウンドでのドライバーまたはその他のソフトウェア アプリケーションの結果であると思われる場合は、セーフ モードまたはクリーン ブートを使用して確認できます。.
セーフ モードは、最小限のドライバーと Windows サービスのみをロードする Windows の特別なブート モードです。セーフ モードで問題が解決した場合は、問題がドライバー (ドライバーの更新) または Windows サービスに関連していると考えられます。 セーフモードで起動する方法 のガイドを参照して、役立つかどうかを確認してください。その場合は、MSConfig サービス タブ でサービスを無効にしてみてください。
クリーン ブートは、セーフ モードのほぼ逆です。 Windows は、最小限のオペレーティング システムをロードするのではなく、すべてのサードパーティ製スタートアップ ソフトウェアを無効にします。クリーン ブートでランタイム エラーが解決した場合は、サードパーティ製アプリを無効にする、更新する、または置き換える必要がある可能性があります。 クリーンブートを実行する方法 のガイドを参照してください。
ランタイム コンポーネントを更新する
ソフトウェアは多くの場合、共有ソフトウェア ライブラリと標準ソフトウェア ランタイム コンポーネントに依存します。これらがインストールされていないか、破損している場合、またはバージョンが間違っている場合は、問題が発生する可能性があります。このようなランタイム コンポーネントの例には、Microsoft Visual C++ 再頒布可能パッケージ などがあります。
必要な VC++ 再頒布可能ファイルは Microsoft Web サイトからダウンロードできますが、通常はそれを必要とするソフトウェアに含まれています。したがって、アプリを再インストールまたは修復すると、Visual C++ ランタイム ライブラリも復元されるはずです。通常、ランタイム エラー メッセージには「C++ ランタイム エラー」であることが示されるため、これはランタイム コンポーネントの問題の中で最も特定しやすいものの 1 つです。
破損したファイルをチェックする
データの破損は、ファイルを構成する 1 と 0 が何らかの理由で破損したり上書きされたりしたときに発生します。システム ファイルやアプリケーション ファイルが損傷すると、予期しないランタイム エラーが発生する可能性があります。
Windows システム ファイル チェッカー (SFC) を実行して、システム ファイルの損傷を確認し、修復できます。アプリケーションの場合、最初にアプリをアンインストールせずにインストーラーを実行すると、ほとんどの場合、インストーラーに「修復」オプションが表示されます。 蒸気 などのソフトウェア クライアントを使用すると、ゲームの「検証」オプションを使用して、ファイルがまだ完全であることを確認することもできます。
マルウェア スキャンを実行する
多くの種類のマルウェアは、実行中のコードに自身を挿入したり、データ ファイルを破損したり、実行可能ファイルを変更したりします。これらはすべて実行時エラーにつながる可能性があります。エラーが発生する原因としてマルウェアを除外するには、お気に入りのウイルス対策ソフトウェアまたはマルウェア対策ソフトウェアを使用してスキャンを実行します。.
メモリ テストを実行する
実行中のソフトウェアは、処理のために CPU に到達する前に、RAM で停止します。 RAM に障害がある場合、追跡が難しいランタイム エラーが発生する可能性があります。 記憶テスト を実行して、メモリ モジュール内のビット反転に問題がないことを確認してください。
.