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