如何解決 MEM_BAD_POINTER 彈出問題?
已發表: 2021-02-15MEM_BAD_POINTER 錯誤是一個難以理解的具有挑戰性的問題。 它通常在啟動時出現在對話框窗口中,並在您單擊“確定”按鈕時消失,僅在下次重新啟動時再次出現。
該錯誤與管理系統內存的 SmartHeap 庫相關,並表明依賴於該庫的應用程序出現問題。 該錯誤也是操作系統不兼容的症狀。
什麼是 SmartHeap 庫?
SmartHeap 是一種用於優化系統內存的古老技術。 它用於無法在多處理器和多線程環境中最大化內存分配的舊操作系統中。 許多舊程序使用該工具來編譯文件和模塊。
今天,幾乎沒有任何程序依賴於內存管理工具。 如果您看到錯誤,那是因為您安裝了舊版本的 Adobe Acrobat、AutoCAD 或 CorelDraw。
是什麼導致 MEM_BAD_POINTER 錯誤?
您現在知道,如果您看到錯誤,則表示您的系統上安裝了舊程序。 錯誤的原因可以追溯到該特定程序。 以下是對根本問題的簡要說明:
程序不兼容
現代操作系統並不總是與遺留應用程序一致。 雖然較新版本的 Windows 運行舊應用程序應該沒有問題,但 Microsoft 和應用程序開發人員可能已放棄對這些應用程序的支持,從而導致程序和您的操作系統之間出現小問題。
安裝損壞
擁有一個可能與操作系統不同步的遺留應用程序是一回事,但錯誤地安裝它是另一回事。 除此之外,該程序的文件可能已被惡意軟件或任何其他系統故障破壞,從而導致 SmartHeap Library 錯誤發生。
系統變化
假設您已經使用舊版應用程序有一段時間了。 在這種情況下,最近的更改(例如新軟件安裝、新更新甚至新驅動程序安裝)可能會導致錯誤。 升級對遺留應用程序不是那麼友好,因為它們可能會引入某些未融入應用程序代碼的設置。
應用程序衝突
您系統上的其他應用程序,尤其是啟動程序和服務,可能與舊程序發生衝突。 您可以找出導致衝突的應用程序並糾正問題。 稍後您將了解如何執行此操作。
有問題的註冊表項
某些程序在卸載後會留下註冊表項。 每當註冊表項嘗試調用不再可用的程序時,就會發生錯誤。 清除錯誤的註冊表項應立即解決問題。
如何解決 MEM_BAD_POINTER 問題
現在您已經熟悉了錯誤的可能原因,是時候解決這些問題並徹底擺脫它們了。
修復舊版應用程序或將其卸載
MEM_BAD_POINTER 錯誤表明您有一個依賴 SmartHeap 庫的舊程序。 這也表明該程序有問題或與您的操作系統不兼容。 因此,您的第一個操作是修復應用程序。
修復程序很容易。 您必須通過控制面板中的程序和功能窗口。 跟著這些步驟:
- 同時按下 Windows 和 R 鍵盤按鈕或右鍵單擊“開始”按鈕並在“高級用戶”菜單打開後選擇“運行”。
- 運行對話框窗口打開後,在文本字段中鍵入“控制面板”,然後單擊“確定”按鈕。
- 出現“控制面板”窗口後,單擊“程序”下的“卸載程序”。
- 現在將出現“程序和功能”窗口。
- 接下來,找到該程序,右鍵單擊它,然後單擊修復。
- 按照嚮導上的後續說明完成該過程。
如果您沒有看到修復選項,則必須卸載該應用程序並重新安裝。 更好的是,您可以選擇為與您當前的操作系統一起工作而開發的最新版本的程序。
在兼容模式下運行舊版應用程序
我們提到,由於兼容性問題,錯誤可能會出現。 如果您在 Windows 10 PC 上運行舊版應用程序,這可能是問題所在,因為操作系統可能不完全支持該應用程序。 也就是說,Windows 10 具有一項功能,可讓您在較舊的 Windows 環境中運行應用程序。 Windows 8 或 7 應該對該應用程序有更好的支持,因此在兼容模式下運行這些版本中的任何一個都可以看到錯誤永遠消失。
如果您不知道如何在兼容模式下運行程序,請按照以下步驟操作:
- 右鍵單擊應用程序的桌面快捷方式,然後單擊上下文菜單中的屬性。
- 如果應用沒有桌面快捷方式,請按照以下步驟操作:
- 同時按下 Windows 和 S 鍵盤按鈕以打開搜索功能。
- 搜索程序。
- 一旦它出現在搜索結果中,右鍵單擊它,選擇更多,然後單擊打開文件位置。
- 您將看到一個包含程序快捷方式的文件夾。
- 右鍵單擊快捷方式,然後單擊上下文菜單中的打開文件位置。
- 應用程序的安裝文件夾打開後,轉到其可執行文件(帶有 EXE 擴展名的文件)並右鍵單擊它。
- 下拉上下文菜單後選擇屬性。
- 屬性對話框窗口打開後,切換到兼容性選項卡。
- 接下來,選中“以兼容模式運行此程序”複選框,然後選擇 Windows 8 或 Windows 7。
- 之後,單擊“確定”按鈕。
- 檢查問題是否再次出現。
清理您的系統註冊表
一些剩餘的註冊表項有時會導致問題。 如果您有舊版應用程序但將其卸載,則它的一些剩餘註冊表項可能會導致錯誤。 另一個應用程序的註冊表項也可能與舊應用程序發生衝突並觸發 MEM_BAD_POINTER 問題。
在這種情況下,您必須查找這些註冊表項並清除它們以解決問題。
請注意,系統註冊表是操作系統中敏感且高度先進的部分。 如果您沒有足夠的知識並對其進行篡改,您可能會造成無法彌補的損失。
我們建議您使用專門的應用程序來查找這些有問題的密鑰並擺脫它們。 強烈推薦使用 Auslogics Registry Cleaner。 該程序對新手和專家都很友好。 如果您不知道如何調整 Windows 註冊表,該工具會將其範圍限制為僅完全安全的基本操作。
也就是說,您應該做的第一件事是備份整個註冊表。 這樣,如果出現問題,您可以快速使系統恢復正常。
這些步驟將向您展示如何備份註冊表:
- 同時按下 Windows 徽標鍵和 R 鍵,或右鍵單擊“開始”按鈕並從“高級用戶”菜單中選擇“運行”。
- 運行對話框窗口打開後,鍵入“regedit”並單擊“確定”。
- 在“用戶帳戶控制”對話框中單擊“是”。
- 看到註冊表編輯器窗口後,單擊左上角的文件。
- 單擊導出。
- 導出註冊表文件對話框窗口打開後,導航到要保存備份的文件夾,選擇文件名,然後選擇導出範圍下的全部。
- 之後,單擊“保存”按鈕。
- 每當您想恢復註冊表時,打開註冊表編輯器並單擊文件>>導入。
- 接下來,前往保存備份文件的文件夾並加載它。
現在您已經備份了註冊表,前往 Auslogics Registry Cleaner 的官方網頁並下載該程序的設置文件。 下載安裝文件後,運行它。 單擊“用戶帳戶控制”對話框中的“是”以允許運行設置嚮導。

安裝嚮導出現後,選擇您的首選項,例如語言和首選安裝位置,然後同意許可。 嚮導完成安裝後,重新啟動系統。
系統重新啟動後,啟動程序,單擊立即掃描按鈕並選中備份更改選項。 該過程現在應該開始。 掃描的持續時間將取決於註冊表的內容和系統的速度。
掃描完成後,程序將列出它發現的問題,並在旁邊列出每個問題的嚴重性級別。 之後,單擊修復選項以允許該工具解決它檢測到的問題。 您將看到修復過程的進度,一旦完成,該程序將讓您知道這些註冊表問題的狀態。 您可能會看到來自程序開發人員的其他產品的廣告。
執行系統還原
如果您最近才開始遇到遺留應用程序的問題,則表明最近對系統所做的一些更改正在觸發相關問題。 它可能是新的軟件程序、驅動程序或系統更新。
您可以通過將計算機恢復到以前的日期來解決問題。 請注意,必須先保存一個還原點,然後才能還原系統。 幸運的是,當您對系統進行重大更改時,Windows 通常會創建自動還原點。
以下步驟將向您展示如何執行系統還原:
- 右鍵單擊任務欄中的 Windows 徽標,然後單擊文件資源管理器或同時按下 Windows 和 E 鍵盤按鈕。
- 文件資源管理器窗口打開後,轉到左側邊欄並右鍵單擊此 PC。
- 從上下文菜單中選擇屬性。
- 系統窗口打開後,單擊左側的系統保護。
- 現在將出現“系統屬性”對話框窗口的“系統保護”選項卡。
提示:您可以使用開始菜單的搜索功能來調用系統屬性對話框。 只需打開開始並鍵入“系統還原”,然後單擊“創建還原點”。
- 單擊系統還原按鈕。
- 系統還原嚮導打開後,單擊下一步。
- 選擇一個還原點,然後再次單擊下一步。
- 之後,單擊“完成”按鈕並允許 Windows 恢復您的 PC。
- 過程完成後檢查問題。
執行乾淨啟動
如果上述修復均無效,您的下一步操作應該是檢查應用程序干擾。 為此,您必須執行乾淨啟動。
執行乾淨啟動涉及禁用旨在在系統啟動時加載的應用程序和服務。 通過這種方式,您可以了解是否有某個應用程序觸發了錯誤。 您還可以使用乾淨啟動技術來識別負責的應用程序或服務。
請按照以下步驟執行乾淨啟動:
- 轉到“開始”菜單,搜索“運行”,然後啟動該程序。 您還可以點擊 Windows 和 R 鍵盤按鈕以打開運行。
- 運行打開後,鍵入“msconfig”,然後按 Enter 鍵。
- 系統配置對話框窗口打開後,轉到服務選項卡。
- 選中“隱藏所有 Microsoft 服務”框。
- 接下來,單擊“全部禁用”按鈕。
- 之後,轉到“啟動”選項卡,然後單擊“打開任務管理器”。
- 在任務管理器的啟動選項卡下,選擇每個程序並單擊禁用。
- 在任務管理器的啟動選項卡下禁用所有程序後,返回系統配置對話框並單擊確定。
- 重新啟動系統。
如果您的系統啟動後錯誤沒有出現,那麼您必須找到之前導致它的程序。 為此,請啟用一項服務並重新啟動系統以檢查錯誤是否出現。 繼續檢查其餘服務,直到有問題的應用程序再次觸發錯誤。
如果逐個瀏覽應用程序工作量太大,您可以按照以下步驟操作:
- 打開系統配置窗口並切換到服務選項卡。
- 取消選中您之前禁用的服務的前半部分,然後單擊“全部禁用”按鈕。 下次重新啟動後,將阻止加載啟動服務的後半部分。
- 如果錯誤對話框沒有出現,那麼您未選中的任何服務均不負責。 取消選中其餘服務,單擊禁用,然後重新啟動系統。
- 如果在您第一次重新啟動系統時出現錯誤,那麼列表前半部分中的一項服務就是您要查找的服務。 您不必再檢查其他啟動項。 但是,在某些情況下,多個應用程序可能會觸發錯誤。
找到負責任的應用程序後,將其刪除或更新。
結論
這就是在 Windows 10 中修復 mem_bad_pointer 錯誤的方法。如果您對任何事情感到困惑,可以使用下面的評論部分來分享您的想法和問題。

使用反惡意軟件保護 PC 免受威脅
檢查您的 PC 是否存在您的防病毒軟件可能遺漏的惡意軟件,並使用 Auslogics Anti-Malware 安全刪除威脅
如果您沒有,我們建議您使用功能強大的防病毒程序。 此類問題可能是惡意軟件感染的結果。