2010-02-21 59 views
1

我已經知道我可以在Linux上跟蹤mtracevalgrind的代碼中的內存泄漏,這兩者都不適用於Windows。你會推薦哪個Windows程序來跟蹤內存泄漏?在Windows上的C代碼中查找內存泄漏

我是Eclipse用戶,現在我一直在用C工作一兩個月,所以我比較高級的更喜歡用戶友好的解決方案。

回答

3

應用程序驗證將做到這一點相當不錯,http://msdn.microsoft.com/en-us/library/ms220948.aspx

+0

+1。好建議。 – 2010-02-21 19:23:29

+0

由於我對C mtrace的有限知識可能會說我做了x個malloc和x個釋放量,但我對Application Verifier感到非常困惑,但Application Verifier似乎做了太高級的事情讓我無法理解。 – Pieter 2010-02-21 20:13:17

+0

AppVerifier嘗試模擬在最差情況下運行的應用程序,然後在出現任何問題時切入調試程序。其中一件事情就是泄漏,它會自動記錄是誰分配的。 – 2010-02-21 21:53:33

0

還有就是,這樣做,在C線每對malloc的常識方式有一個free,如果沒有有泄漏,也同爲GlobalAllocVirtualAllocHeapAllocLocalAllocVirtualAllocEx ...有關聯的...Free對他們,例如上運行變量「富」一個HeapAlloc例如,並且沒有HeapFree爲「富」,這是一個泄漏...

希望這幫助, 最好的問候, 湯姆。

+0

這是不是因爲我在循環中調用這些統計在我的代碼的'malloc'和'free'呼叫的數量更加複雜。 – Pieter 2010-02-21 17:20:09

+0

如果您想手動執行操作,您可以創建'malloc'和'free'的包裝來計算分配和釋放。這種方法將簡化跟蹤並避開循環情況。 – jgottula 2010-02-21 18:23:51