private bool IsFrameOkForMode(StackFrame frame, Mode mode)
{
if (mode == Mode.Native)
return true;
if ((mode == Mode.Default) && !frame.Thread.Process.IsManaged)
return true;
if ((frame.Language == null) || !frame.Language.IsManaged)
return false;
if (mode == Mode.Default)
return true;
if ((frame.SourceAddress == null) || (frame.Method == null))
return false;
return frame.Method.WrapperType == WrapperType.None;
}