2010-05-03 27 views
1

我正在使用第三方應用程序來處理通過多個FireWire連接設備進行批量CD音頻提取,但應用程序在提取過程中頻繁(但非確定性地)掛起。我懷疑多線程應用程序在某些共享資源上發生死鎖。然而,開發人員懷疑問題在於其他地方,但目前還沒有解決問題。我希望能夠做一些運動,以便我a)證明情況存在,b)理想地指向正確的方向。如何識別第三方應用程序中的死鎖條件?

問題:雖然我以前是程序員,但過了一段時間,我需要擺脫灰塵(我做的最後一項工作早在99年,它在Solaris下,而應用程序在XP下運行)。網上缺乏信息,而不是消化。是否有任何建議的指南或教程可以幫助我加快到足以幫助識別和/或診斷僵局的速度,還是有工具或方法可以幫助我完成任務?

非常感謝所有的建議!

回答

1

嘗試使用AppVerfier。運行啓用AppVerifier的應用程序(確保鎖定停止已啓用)。確保在windbg/cdb下運行應用程序,以便在發生停止時獲得最多的信息。您應該能夠看到可能的鎖爭用。