如何找到死锁?

时间:2016-04-13 10:16:59

标签: c# wpf

我有一个应用程序,它由很多自定义控件组成,并且在处理应用程序挂起的操作并发生死锁时,我无法找到死锁的代码,请问任何人建议如何查找死锁的代码还是有任何工具可以找到它?

1 个答案:

答案 0 :(得分:0)

首先,检查是否存在背景抛出的异常。为了打开要抛出的CLR异常,请执行Debug / Exception并检查Common Language Runtime Exception复选框。其次,您可以尝试暂停调试会话,并尝试查看应用程序死锁时每个线程的位置并研究Callstack。此外,您可以追踪可能导致死锁的每个地方。

以下是一些可以帮助您的SO查询:

  1. C#/.NET analysis tool to find race conditions/deadlocks
  2. 以下是我认为在这种情况下有用的工具:

    1. OzCode - 可以帮助您以更好的方式调试和管理情境(允许以更好的方式跟踪代码等等)。
    2. 此致