我的 WPF 应用程序出现了严重错误,我的调度程序似乎有 2400 万个操作等待运行。
带 sosex 的 windbg 向我展示
0:000> !dumpgen 2 -stat
Count Total Size Type
-------------------------------------------------
...
23,967,120 575,210,880 Catel.MVVM.Command`2+<>c__DisplayClass35_0[[System.Object, mscorlib],[System.Object, mscorlib]]
23,967,139 575,211,336 System.Windows.Threading.DispatcherOperationTaskSource`1[[System.Object, mscorlib]]
23,967,139 575,211,336 System.Windows.Threading.DispatcherOperationTaskMapping
23,967,139 575,211,336 System.Threading.Tasks.TaskCompletionSource`1[[System.Object, mscorlib]]
23,967,139 958,685,560 MS.Internal.CulturePreservingExecutionContext
23,967,120 1,533,895,680 System.Func`1[[System.Threading.Tasks.Task, mscorlib]]
23,967,139 1,533,896,896 System.Windows.Threading.PriorityItem`1[[System.Windows.Threading.DispatcherOperation, WindowsBase]]
23,967,554 1,533,923,456 System.Action
23,967,139 1,917,371,120 System.Threading.Tasks.Task`1[[System.Object, mscorlib]]
23,967,156 2,109,109,728 System.Threading.ExecutionContext
23,967,139 2,684,319,568 System.Windows.Threading.DispatcherOperation
有没有办法可以看到 Action 将要执行的实际代码?根据上面引用的对象,我对正在发生的事情有一个粗略的了解,但是查看 Action 将执行的实际代码会很有帮助。