手柄我在我的程序下面的代碼:有沒有什麼辦法,輸入/ LeaveCriticalSection可以留下
EnterCriticalSection(&critsec[x]);
// stuff
LeaveCriticalSection(&critsec[x]);
它工作的時間精99.999%,但偶爾把手好像被甩在後面。現在我已經做了一些明顯的事情,比如確保x沒有改變輸入值之間的值,並確保在「// stuff」裏面沒有任何「return」或「break」,但是我想知道是否可以有東西否則會導致進入/離開對留下手柄。也許是內存不足或溢出操作系統或其他任何計數器。
編輯:我是C++新手,該程序最近才從C轉換而來。它在整個程序中的任何地方都沒有例外。
您是如何確定手柄是否剩下?可能它與CriticalSections根本沒有關係(而是來自'stuff'代碼塊的句柄?) – Nicholaz 2009-11-19 14:38:44
我遵循了這部電影中的指南http://channel9.msdn.com/posts/jeff_dailey/Understanding -handle-leaks-and-how-to-use-htrace-to-find-them /(movie now not working right now)。它在windbg中使用!htrace命令。 – Mick 2009-11-19 14:47:27
電影可以從這裏下載:http://mschnlnine.vo.llnwd.net/d1/ch9/1/2/6/7/5/2/341851_leakyhandles.wmv – Mick 2009-11-19 14:50:57