2011-04-05 108 views
1

_CrtDumpMemoryLeaks()在調試模式下顯示內存泄漏,但未在發佈模式下顯示。在發佈模式下啓用_CrtDumpMemoryLeaks()

如何在發佈模式下啓用它?

+1

你爲什麼想要?爲什麼不以調試模式釋放程序? – wallyk 2011-04-05 05:31:37

+0

調試模式不優化代碼。 – user692262 2011-04-05 06:20:52

+1

優化代碼中的內存泄漏「非常棘手」。例如,編譯器可能會移動一個位的釋放(因爲它是一個已知函數,編譯器可以推斷副作用)。 – MSalters 2011-04-05 07:17:10

回答

2

從網上參考:

轉儲所有存儲塊的 調試堆時出現內存泄漏具有 發生(調試版本)

1

我想你可以改變優化在調試版本中,並讓它編譯代碼,就好像它要生成版本代碼一樣,但這可能沒有任何幫助。預處理器宏_DEBUG仍然有效,因此您的續航里程將有所不同(具體取決於您在定義_DEBUG時所做的操作)。

相關問題