我在NET 3.5中有一个WPF MVVM桌面应用程序。此应用程序在其主窗口中有一个组合框。此 comobobx 绑定到视图模型属性。首次使用应用程序时,将填充此组合框。从组合框中选择项时,将加载 wpf 数据网格中的数据。然后,用户可以对加载到数据网格中的数据执行一些操作。为了执行特定操作,用户从数据网格中选择一行,然后单击执行所需操作的 wpf 按钮。此操作是使用后台工作线程完成的,完成后将刷新 comobox。它被刷新,因为组合中的每个项目都有一个关联的计数器,需要重新计算,然后在操作完成后在组合框中刷新。
我的问题如下: 一旦操作完成,如果用户单击组合框,它将冻结,并且在几秒钟内没有响应,大约 10 秒,在那几秒钟之后,组合框响应。它只发生在生产环境中的计算机中。在其余计算机中,它不会发生。我无法复制它。
那么,我可以使用任何 .NET 调试器来检测死锁、线程中的异常行为、锁等?
我正在尝试使用 MDbg.exe,但是从 MDbg 提示控制台,当我尝试附加到进程(正在运行的应用程序)时,应用程序冻结...
从MDbg提示控制台,我使用以下命令附加到进程:
a PID
另外,从MDbg提示控制台,我尝试使用以下命令加载SOS.dll但它显示找不到扩展名:
load sos clr
我不确定我是否正确使用了MDbg,我以前没有使用过它。
在调试时点击工具栏上的暂停按钮,它将在当前行中断。
它应该让您了解导致问题的原因