private static DumpData Analyze(string dump, Configuration configuration) { using (var da = new DumpAnalyzer(dump)) { EventInformation lastEvent = da.GetLastEvent(); IList<StackFrame> st = da.GetStackTrace(lastEvent.ThreadId); StackFrame frame = st.FirstOrDefault(f => !configuration.Ignores.Any(f.Match) && configuration.Filters.Any(f.Match)); Filter filter = frame == null ? null : configuration.Filters.First(frame.Match); return new DumpData { LastEvent = lastEvent, CallStack = st, FilterOfInterest = filter, FrameOfInterest = frame }; } }