【发布时间】:2014-01-29 22:36:03
【问题描述】:
.NET 应用程序因堆栈跟踪而崩溃:
调用栈:
Layouts!Layouts.Ribbon.SizeAndPositionControlViewModel+OnLayoutSelectionChanged>d__5.MoveNext()
mscorlib_ni!System.Runtime.CompilerServices.AsyncMethodBuilderCore.<ThrowAsync>b__0(System.Object)
WindowsBase_ni!System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
调用堆栈的其余部分是 Windows 代码,无关紧要。
第一个调用的含义如下:
在SizeAndPositionControlViewModel 的实例中的异步方法OnLayoutSelectionChanged() 中,它在方法MoveNext() 中失败。 MoveNext() 恰好是 LINQ 方法方法 Any 中的 Microsoft 代码。
d__5 表示什么?
【问题讨论】:
-
Linq 创建临时的
IEnumerable类来评估结果。d__5.MoveNext是对它创建的IEnumerable的迭代。
标签: c# .net debugging crash windbg