parameters: (
          self,
          thread_id,
          frame,
          stop_reason=None,
          message=None,
          suspend_type="trace",
          )
return_statement: return ''.join(cmd_text_list), thread_stack_str
docstring: :return tuple(str,str):
              Returns tuple(thread_suspended_str, thread_stack_str).
              
              i.e.:
              (
                  '''
                      <xml>
                          <thread id="id" stop_reason="reason">
                              <frame id="id" name="functionName " file="file" line="line">
                              </frame>
                          </thread>
                      </xml>
                  '''
                  ,
                  '''
                  <frame id="id" name="functionName " file="file" line="line">
                  </frame>
                  '''
              )
docstring_summary: :return tuple(str,str):
              Returns tuple(thread_suspended_str, thread_stack_str).
              
              i.e.:
              (
                  '''
                      <xml>
                          <thread id="id" stop_reason="reason">
                              <frame id="id" name="functionName " file="file" line="line">
                              </frame>
                          </thread>
                      </xml>
                  '''
                  ,
                  '''
                  <frame id="id" name="functionName " file="file" line="line">
                  </frame>
                  '''
              )
docstring_tokens: : return tuple ( str str ) : Returns tuple ( thread_suspended_str thread_stack_str ) . i . e . : ( <xml > <thread id = id stop_reason = reason > <frame id = id name = functionName file = file line = line > < / frame > < / thread > < / xml > <frame id = id name = functionName file = file line = line > < / frame > )
function: def make_thread_suspend_str(
          self,
          thread_id,
          frame,
          stop_reason=None,
          message=None,
          suspend_type="trace",
          ):
          """
          :return tuple(str,str):
              Returns tuple(thread_suspended_str, thread_stack_str).
              
              i.e.:
              (
                  '''
                      <xml>
                          <thread id="id" stop_reason="reason">
                              <frame id="id" name="functionName " file="file" line="line">
                              </frame>
                          </thread>
                      </xml>
                  '''
                  ,
                  '''
                  <frame id="id" name="functionName " file="file" line="line">
                  </frame>
                  '''
              )
          """
          make_valid_xml_value = pydevd_xml.make_valid_xml_value
          cmd_text_list = []
          append = cmd_text_list.append
  
          cmd_text_list.append('<xml>')
          if message:
              message = make_valid_xml_value(message)
  
          append('<thread id="%s"' % (thread_id,))
          if stop_reason is not None:
              append(' stop_reason="%s"' % (stop_reason,))
          if message is not None:
              append(' message="%s"' % (message,))
          if suspend_type is not None:
              append(' suspend_type="%s"' % (suspend_type,))
          append('>')
          thread_stack_str = self.make_thread_stack_str(frame)
          append(thread_stack_str)
          append("</thread></xml>")
  
          return ''.join(cmd_text_list), thread_stack_str
function_tokens: def make_thread_suspend_str ( self , thread_id , frame , stop_reason = None , message = None , suspend_type = "trace" , ) : make_valid_xml_value = pydevd_xml . make_valid_xml_value cmd_text_list = [ ] append = cmd_text_list . append cmd_text_list . append ( '<xml>' ) if message : message = make_valid_xml_value ( message ) append ( '<thread id="%s"' % ( thread_id , ) ) if stop_reason is not None : append ( ' stop_reason="%s"' % ( stop_reason , ) ) if message is not None : append ( ' message="%s"' % ( message , ) ) if suspend_type is not None : append ( ' suspend_type="%s"' % ( suspend_type , ) ) append ( '>' ) thread_stack_str = self . make_thread_stack_str ( frame ) append ( thread_stack_str ) append ( "</thread></xml>" ) return '' . join ( cmd_text_list ) , thread_stack_str