2012-04-14 6 views
5

Javaには、スレッドが実行時に保持しているロックに関する情報を要求するThreadMXBeanとThreadInfoがあります。どのようにC#で実行時にスレッドのロックとデッドロックを要求できますか?

これはC#でも可能ですか?はいの場合はどうすればいいですか?

+1

に変換します:http://blogs.msdn.com/b/mohamedg/archive/2010/01/29/をhow-to-debug-deadlocks-using-windbg.aspx –

+0

デッドロックのデバッグでは、これは固いリンクです。 –

+0

問題は、開発者システムで再現可能なデッドロックではありません。何らかの問題が発生した場合、ターゲットは顧客システムにログオンしています。 – Horcrux7

答えて

1

C#ではランタイムに相当するものはありません。 これを追跡する必要がある場合は、独自のラッパーを実装する必要があります。 アプリケーションがロックに敏感である場合は、Monitor.TryEnterのタイムアウトを使用することも検討してください。

lock (object) { // Synchronized code }

デッドロックをデバッグする上で、このチュートリアルチェックアウト

try 
{ 
    Monitor.Enter(object); 
} 
finally 
{ 
    Monitor.Exit(object); 
} 

関連する問題