2016-04-13 46 views
1

我有一個應用程序,它由許多自定義控件組成,並且在處理應用程序掛起和發生死鎖的操作時,我無法找到死鎖代碼,可以請任何人建議如何找到代碼是死鎖還是有任何工具可以找到它?如何找到死鎖?

+2

打破調試器不顯示它是在這一點? –

+0

歡迎編程的樂趣 – auburg

+0

嗨薩米,調試器沒有指向,我有一個非常大的應用程序。 –

回答

0

首先你要檢查是否有背景上拋出的異常。爲了打開要拋出的CLR異常,請轉到Debug/Exception並選中Common Language Runtime Exception複選框。其次,您可以嘗試暫停調試會話,並嘗試在應用程序被鎖定並查看Callstack時查看每個線程的位置。另外,您可以追蹤每個可能成爲死鎖原因的地方。

下面是一些所謂的查詢,可以幫助你:

  1. C#/.NET analysis tool to find race conditions/deadlocks

這裏有一些工具,在我看來,在這種情況下是有用的:

  1. OzCode - 可以幫助您調試並以更好的方式管理狀況(允許跟蹤代碼更好方式和更多...)。

問候,