docs: def extract_stack(frame, context=10, exceptionsFrameSymbol=EXCEPTIONS_FRAME_SYMBOL):
      """
      Extracts the stack from given frame while excluded any symbolized frame.
  
      :param frame: Frame.
      :type frame: Frame
      :param context: Context to extract.
      :type context: int
      :param exceptionsFrameSymbol: Stack trace frame tag.
      :type exceptionsFrameSymbol: unicode
      :return: Stack.
      :rtype: list
      """
  
      decode = lambda x: unicode(x, Constants.default_codec, Constants.codec_error)
  
      stack = []
  
      for frame, file_name, line_number, name, context, index in inspect.getouterframes(frame, context):
          if frame.f_locals.get(exceptionsFrameSymbol):
              continue
  
          stack.append((frame,
                        decode(file_name),
                        line_number,
                        decode(name),
                        context if context is not None else [],
                        index if index is not None else -1))
  
      return list(reversed(stack))