記憶體配置追蹤
這個主題適用於:
版本 |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
Express |
僅適用原生 |
||||
Pro、Premium 和 Ultimate |
僅適用原生 |
在 MFC 裡,您可以使用 DEBUG_NEW 巨集取代 new 運算子來幫助尋找記憶體遺漏。 在程式的偵錯版本裡,DEBUG_NEW 追蹤每個物件所配置的檔案名稱和行號。 當您編譯程式的發行版本時,DEBUG_NEW 解析成簡單而不具檔名和行號資訊的 new 操作。 因此,在程式的發行版本中不會有速度負擔。
如果您不要以 DEBUG_NEW 取代 new 來重新編寫整個程式,您可以在原始程式檔裡定義這個巨集:
#define new DEBUG_NEW
當您執行物件傾印,每個以 DEBUG_NEW 配置的物件會顯示其配置位置的檔案和行號,讓您可以指出記憶體遺漏的來源。
MFC 架構的偵錯版本會自動使用 DEBUG_NEW,但是您的程式碼不會。 如果您要擁有 DEBUG_NEW 的優點,您必須依照上述方式,明確地使用 DEBUG_NEW 或 #define new。