Detectando deadlocks em um aplicativo C # [duplicado]

Possível duplicado:
Ferramenta de análise C # / .NET para encontrar condições de corrida / conflitos

Estou depurando um aplicativo que suspeito estar sendo bloqueado e travado. No entanto, isso ocorre apenas a cada poucos dias e nunca acontece no meu computador, portanto, não consigo conectar um depurador a ele. Existem utilitários ou métodos que eu possa usar para consultar o aplicativo em execução e descobrir quais métodos / bloqueios / o que quer que esteja em um impasse?

Atualizar: Normalmente, o aplicativo está sendo executado no local do cliente e não tenho acesso à máquina, e não me sinto totalmente à vontade para pedir a instalação de toneladas de software.

questionAnswers(7)

yourAnswerToTheQuestion