MEM_BAD_POINTERポップアップの問題を解決するにはどうすればよいですか?

公開: 2021-02-15

MEM_BAD_POINTERエラーは、頭を包み込むのが難しい問題です。 通常、起動時にダイアログウィンドウに表示され、[OK]ボタンをクリックすると消えますが、次回の再起動時にのみ表示されます。

このエラーは、システムメモリを管理するSmartHeapライブラリに関連しており、ライブラリに依存するアプリケーションで問題が発生したことを示しています。 このエラーは、OSの非互換性の兆候でもあります。

SmartHeapライブラリとは何ですか?

SmartHeapは、システムメモリを最適化するために使用される古いテクノロジーです。 これは、マルチプロセッサおよびマルチスレッド環境でメモリ割り当てを最大化できない古いオペレーティングシステムで使用されていました。 多くの古いプログラムは、このツールを使用してファイルとモジュールをコンパイルしていました。

今日、メモリ管理ツールに依存するプログラムはほとんどありません。 エラーが表示される場合は、Adobe Acrobat、AutoCAD、またはCorelDrawのレガシーバージョンがインストールされていることが原因です。

MEM_BAD_POINTERエラーの原因は何ですか?

エラーが表示された場合は、システムに古いプログラムがインストールされていることを意味していることがわかります。 エラーの原因は、その特定のプログラムに起因する可能性があります。 根本的な問題の簡単な説明は次のとおりです。

プログラムの非互換性

最新のオペレーティングシステムは、レガシーアプリケーションと常に一致するとは限りません。 新しいバージョンのWindowsは古いアプリの実行に問題はないはずですが、それらのアプリのサポートはMicrosoftとアプリ開発者によって放棄された可能性があり、プログラムとOSの間に小さな問題が発生します。

不正なインストール

オペレーティングシステムと同期していない可能性のあるレガシーアプリケーションを使用することは1つですが、誤ってインストールしたことは別のことです。 それとは別に、プログラムのファイルがマルウェアまたはその他のシステムグリッチによって侵害され、SmartHeapライブラリエラーが発生した可能性があります。

システムの変更

しばらくの間、レガシーアプリケーションを使用していると仮定します。 その場合、新しいソフトウェアのインストール、新しい更新、または新しいドライバのインストールなどの最近の変更がエラーの原因である可能性があります。 アップグレードは、アプリのコードに組み込まれていない特定のセットアップを導入する可能性があるため、レガシーアプリケーションにはそれほど親切ではありません。

アプリケーションの競合

システム上の他のアプリケーション、特にスタートアッププログラムやサービスが、レガシープログラムと衝突している可能性があります。 競合の原因となっているアプリを特定し、問題を修正できます。 それを行う方法は後でわかります。

問題のあるレジストリキー

一部のプログラムは、アンインストール後にレジストリキーを残します。 このエラーは、レジストリキーが使用できなくなったプログラムを呼び出そうとするたびに発生します。 不正なレジストリキーをクリアすると、問題はすぐに修正されます。

MEM_BAD_POINTERの問題を解決する方法

エラーの考えられる原因を理解したので、次はそれらの問題を解決し、それらを永久に取り除きます。

レガシーアプリケーションを修正するか、アンインストールします

MEM_BAD_POINTERエラーは、SmartHeapライブラリに依存している古いプログラムがあることを示しています。 また、プログラムに問題があるか、オペレーティングシステムと互換性がないことを示しています。 したがって、最初のアクションはアプリケーションを修復することです。

プログラムの修復は簡単です。 コントロールパネルの[プログラムと機能]ウィ​​ンドウを確認する必要があります。 次の手順を実行します:

  1. WindowsとRのキーボードボタンを同時に押すか、[スタート]ボタンを右クリックして、[パワーユーザー]メニューが開いたら[ファイル名を指定して実行]を選択します。
  2. [実行]ダイアログウィンドウが開いたら、テキストフィールドに「コントロールパネル」と入力し、[OK]ボタンをクリックします。
  3. [コントロールパネル]ウィンドウが表示されたら、[プログラム]の下の[プログラムのアンインストール]をクリックします。
  4. [プログラムと機能]ウィ​​ンドウが表示されます。
  5. 次に、プログラムを見つけて右クリックし、[修復]をクリックします。
  6. ウィザードの後続の指示に従って、プロセスを完了します。

修復オプションが表示されない場合は、アプリケーションをアンインストールしてから再インストールする必要があります。 さらに良いことに、現在のオペレーティングシステムで動作するように開発されたプログラムの最新バージョンを選択できます。

レガシーアプリケーションを互換モードで実行する

互換性の問題が原因でエラーが表示される可能性があることを説明しました。 Windows 10 PCでレガシーアプリケーションを実行している場合、OSがアプリを完全にサポートしていない可能性があるため、これが問題になる可能性があります。 とはいえ、Windows 10には、古いWindows環境でアプリを実行できる機能が付属しています。 Windows 8または7はアプリのサポートが優れているはずなので、これらのバージョンのいずれかに対して互換モードで実行すると、エラーが完全に消える可能性があります。

互換モードでプログラムを実行する方法がわからない場合は、次の手順に従ってください。

  1. アプリのデスクトップショートカットを右クリックし、コンテキストメニューの[プロパティ]をクリックします。
  2. アプリにデスクトップショートカットがない場合は、次の手順に従います。
  • WindowsとSのキーボードボタンを同時に押して、検索機能を開きます。
  • プログラムを検索します。
  • 検索結果に表示されたら、右クリックして[その他]を選択し、[ファイルの場所を開く]をクリックします。
  • プログラムのショートカットを含むフォルダが表示されます。
  • ショートカットを右クリックし、コンテキストメニューの[ファイルの場所を開く]をクリックします。
  • アプリのインストールフォルダーが開いたら、実行可能ファイル(EXE拡張子の付いたファイル)に移動して右クリックします。
  • コンテキストメニューがドロップダウンしたら、[プロパティ]を選択します。
  1. [プロパティ]ダイアログウィンドウが開いたら、[互換性]タブに切り替えます。
  2. 次に、「このプログラムを互換モードで実行する」のチェックボックスをオンにして、Windows8またはWindows7を選択します。
  3. その後、[OK]ボタンをクリックします。
  4. 問題が再び表面化するかどうかを確認します。

システムレジストリをクリーンアップします

一部の残りのレジストリキーは、時​​々問題を引き起こします。 レガシーアプリを持っていたがそれをアンインストールした場合は、残っているレジストリキーの一部がエラーの原因である可能性があります。 別のアプリケーションのレジストリキーがレガシーアプリと衝突し、MEM_BAD_POINTERの問題を引き起こしている可能性もあります。

この場合、問題を解決するには、これらのレジストリキーを探してクリアする必要があります。

システムレジストリは、オペレーティングシステムの機密性の高い高度なセクションであることに注意してください。 十分な知識がなく、改ざんすると、修復不可能な損傷を引き起こす可能性があります。

これらの問題のあるキーを見つけて取り除くように設計された専用のアプリケーションを使用することをお勧めします。 Auslogics RegistryCleanerを強くお勧めします。 このプログラムは、初心者にも専門家にも同様に友好的です。 Windowsレジストリを微調整する方法がわからない場合、ツールはその範囲を完全に安全な基本操作のみに制限します。

とはいえ、最初にすべきことは、レジストリ全体をバックアップすることです。 このようにして、問題が発生した場合にシステムをすばやく正常に戻すことができます。

次の手順は、レジストリをバックアップする方法を示しています。

  1. WindowsロゴキーとRキーを同時に押すか、[スタート]ボタンを右クリックして、[パワーユーザー]メニューから[ファイル名を指定して実行]を選択します。
  2. [実行]ダイアログウィンドウが開いたら、「regedit」と入力して[OK]をクリックします。
  3. [ユーザーアカウント制御]ダイアログで[はい]をクリックします。
  4. レジストリエディタウィンドウが表示されたら、左上隅にある[ファイル]をクリックします。
  5. [エクスポート]をクリックします。
  6. [レジストリファイルのエクスポート]ダイアログウィンドウが開いたら、バックアップを保存するフォルダーに移動し、ファイル名を選択して、[エクスポート範囲]で[すべて]を選択します。
  7. その後、[保存]ボタンをクリックします。
  8. レジストリを復元する場合は、レジストリエディタを開き、[ファイル] >> [インポート]をクリックします。
  9. 次に、バックアップファイルを保存したフォルダに移動してロードします。

レジストリをバックアップしたので、Auslogics Registry Cleanerの公式Webページにアクセスして、プログラムのセットアップファイルをダウンロードします。 セットアップファイルをダウンロードしたら、実行します。 [ユーザーアカウント制御]ダイアログで[はい]をクリックして、セットアップウィザードを実行できるようにします。

セットアップウィザードが表示されたら、言語や優先インストール場所などの設定を選択し、ライセンスに同意します。 ウィザードがインストールを完了したら、システムを再起動します。

システムが再起動したら、プログラムを起動し、[今すぐスキャン]ボタンをクリックして、[変更のバックアップ]オプションをオンのままにします。 これでプロセスが開始されます。 スキャンの期間は、レジストリの内容とシステムの速度によって異なります。

スキャンが完了すると、プログラムは検出した問題を一覧表示し、各問題の重大度レベルを横に表示します。 その後、[修復]オプションをクリックして、ツールが検出した問題を解決できるようにします。 修復プロセスの進行状況が表示され、修復が完了すると、プログラムはそれらのレジストリの問題のステータスを通知します。 プログラムの開発者からの他の製品に関する広告が表示される場合があります。

システムの復元を実行する

レガシーアプリケーションで問題が発生し始めたのが最近の場合は、システムに最近加えられたいくつかの変更が問題の問題を引き起こしていることを示しています。 これは、新しいソフトウェアプログラム、ドライバー、またはシステムアップデートである可能性があります。

コンピュータを以前の日付に復元することで、問題を解決できます。 システムを復元する前に、保存された復元ポイントが必要であることに注意してください。 幸い、Windowsは通常、システムに大幅な変更を加えると自動復元ポイントを作成します。

以下の手順は、システムの復元を実行する方法を示しています。

  1. タスクバーのWindowsロゴを右クリックしてファイルエクスプローラーをクリックするか、WindowsとEのキーボードボタンを同時に押します。
  2. [ファイルエクスプローラー]ウィンドウが開いたら、左側のサイドバーに移動して、[このPC]を右クリックします。
  3. コンテキストメニューから[プロパティ]を選択します。
  4. [システム]ウィンドウが開いたら、左側にある[システム保護]をクリックします。
  5. [システムのプロパティ]ダイアログウィンドウの[システム保護]タブが表示されます。

ヒント:[スタート]メニューの検索機能を使用して、[システムのプロパティ]ダイアログを呼び出すことができます。 [スタート]を開いて「システムの復元」と入力し、[復元ポイントの作成]をクリックするだけです。

  1. [システムの復元]ボタンをクリックします。
  2. システムの復元ウィザードが開いたら、[次へ]をクリックします。
  3. 復元ポイントを選択し、もう一度[次へ]をクリックします。
  4. その後、[完了]ボタンをクリックして、WindowsがPCを復元できるようにします。
  5. プロセスが完了したら、問題を確認します。

クリーンブートを実行します

上記の修正のいずれも機能しない場合、次のアクションはアプリケーションの干渉をチェックすることです。 そのためには、クリーンブートを実行する必要があります。

クリーンブートを実行するには、システムの起動時にロードされるように設計されたアプリケーションとサービスを無効にする必要があります。 このようにして、エラーを引き起こしている特定のアプリケーションがあるかどうかを確認できます。 クリーンブート手法を使用して、責任のあるアプリまたはサービスを特定することもできます。

クリーンブートを実行するには、次の手順に従います。

  1. [スタート]メニューに移動し、[ファイル名を指定して実行]を検索して、プログラムを起動します。 WindowsおよびRキーボードボタンをタップして実行を開くこともできます。
  2. Runが開いたら、「msconfig」と入力し、Enterキーを押します。
  3. [システム構成]ダイアログウィンドウが開いたら、[サービス]タブに移動します。
  4. 「すべてのMicrosoftサービスを非表示にする」というチェックボックスをオンにします。
  5. 次に、[すべて無効にする]ボタンをクリックします。
  1. その後、[スタートアップ]タブに移動し、[タスクマネージャーを開く]をクリックします。
  2. タスクマネージャの[スタートアップ]タブで、各プログラムを選択し、[無効にする]をクリックします。
  3. タスクマネージャの[スタートアップ]タブですべてのプログラムを無効にしたら、[システム構成]ダイアログに戻り、[OK]をクリックします。
  4. システムを再起動します。

システムの起動後にエラーが表示されない場合は、以前にエラーの原因となったプログラムを見つける必要があります。 これを行うには、1つのサービスを有効にしてシステムを再起動し、エラーが表示されるかどうかを確認します。 問題のあるアプリが再びエラーをトリガーするまで、残りのサービスを実行し続けます。

アプリを1つずつ確認するのが面倒な場合は、次の手順に従うことができます。

  1. [システム構成]ウィンドウを開き、[サービス]タブに切り替えます。
  2. 以前に無効にしたサービスの前半のチェックを外してから、[すべて無効にする]ボタンをクリックします。 起動サービスの後半は、次回の再起動後にロードできなくなります。
  3. エラーダイアログが表示されない場合は、チェックを外したサービスはいずれも責任を負いません。 残りのサービスのチェックを外し、[無効にする]をクリックして、システムを再起動します。
  4. システムを初めて再起動したときにエラーが表示された場合は、リストの前半にあるサービスの1つが探しているサービスです。 他のスタートアップ項目をチェックする必要はもうありません。 ただし、場合によっては、複数のアプリがエラーをトリガーすることがあります。

責任のあるアプリを見つけたら、それを取り除くか、更新します。

結論

これが、Windows 10のmem_bad_pointerエラーを修正する方法です。何か混乱している場合は、以下のコメントセクションを使用して、考えや質問を共有できます。

おすすめされた

マルウェア対策でPCを脅威から保護する

アンチウイルスが見逃す可能性のあるマルウェアがないかPCをチェックし、AuslogicsAnti-Malwareを使用して脅威を安全に削除します

Auslogics Anti-Malwareは、認定されたMicrosoft Silver ApplicationDeveloperであるAuslogicsの製品です。
ダウンロード中

強力なウイルス対策プログラムがない場合は、使用することをお勧めします。 このような問題は、マルウェア感染の結果である可能性があります。