記憶體遺漏偵測和隔離
更新:2007 年 11 月
這個主題適用於:
版本 |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express 版 |
僅適用原生 |
|||
Standard 版 |
僅適用原生 |
|||
Pro/Team 版 |
僅適用原生 |
表格圖例:
套用 |
|
不套用 |
|
預設隱藏的命令。 |
動態配置和解除配置記憶體的能力是 C/C++ 程式設計其中一種的最強功能,但是最大優點也可能是最大的缺點。對 C/C++ 應用程式而言一定是如此,其記憶體處理問題是最常見的錯誤。
最微妙和不容易偵測的錯誤之一是記憶體遺漏 ─ 無法適當地解除先前配置的記憶體。只發生一次的小型記憶體遺漏可能不會被注意到,但是遺漏大量記憶體或漸進遺漏的程式,可能會出現從低 (而且是逐漸降低) 效能到完全用完記憶體範圍的狀況。更糟的是,遺漏記憶體的程式可能會因為使用太多的記憶體而造成另一個程式失敗,而讓使用者無法知道真正的問題是發生在哪裡。此外,即使無害的記憶體遺漏可能是其他問題造成的狀況。
幸運的是,Visual Studio 偵錯工具和 C 執行階段 (CRT) 程式庫提供更有效率的偵測和辨識記憶體遺漏方法。若要暸解如何使用 CRT 偵錯設施來偵測記憶體遺漏的詳細資訊,請參閱下列主題:
MFC 提供一組自己的設施來偵測 MFC 程式裡的記憶體遺漏。如需詳細資訊,請參閱以 MFC 偵測記憶體遺漏。