2010-05-20 68 views
0

我們團隊的一名成員在Windows 2008 R2上報告了一個報告「重複記憶免費操作」的問題。我無法在網上找到很多關於此的信息。該問題無法在非英文操作系統上重新生成。有什麼建議麼?什麼導致重複的內存釋放操作?

回答

0

DOH - 似乎這是某種斷言,您只能在Windows的Windows Check(即調試)構建中獲得。

2

它通常意味着你已經釋放了兩次相同的內存,這是一個很大的禁忌。這是因爲釋放內存會將其返回到可用於其他用途的空閒池。

現在,雖然兩次釋放相同的內存並不是很糟糕,但如果它可以被截取並忽略,那麼如果它在此期間被分配給其他人,那麼這不是那麼容易。這意味着相同的內存塊可能會分配給多個用途,因此很可能導致數據損壞。

+0

這怎麼可能只在非英文Win2k8R2上報告? – sharptooth 2010-05-20 08:13:05

+0

如果非英文版本的Windows使用與英文版本相同的代碼和數據,則所有消息均爲英文。也許它只發生在字符串是特定長度的情況下,或者它只發生在多字節代碼路徑中。 – 2010-05-20 08:33:35

+0

跟蹤這種情況的一個簡單方法是在應用程序驗證程序下運行應用程序 - 這將在雙倍空閒時進入調試程序。 – 2010-05-20 21:24:28