我有一个使用Framework 4.6编译的窗口形式x86-legacy-application,它有多个正在运行的线程,这些线程将在Main UI线程上调用以更新UI。有时,应用程序主UI线程将停止运行,并且应用程序不再响应。在某些情况下,Windows资源管理器也会挂起。
如果将Visual Studio调试器附加到该进程,则会看到一些正在等待主线程响应的线程(请参见图1和2)。分离der调试器后,应用程序将正常响应。
如果我连接WinDbg并使用SOS命令!SyncBlk
,则没有任何锁。 SOSEX命令!dlk
报告“未检测到死锁” 。如果我使用F5运行该应用程序,它将正常运行。
我将不胜感激任何建议或评论。
谢谢!