code: def dump_stack_trace_with_labels(stack_trace, bits = None):
          
          if not stack_trace:
              return ''
          table = Table()
          table.addRow('Frame', 'Origin')
          for (fp, label) in stack_trace:
              table.addRow( HexDump.address(fp, bits), label )
          return table.getOutput()
docs: Dump a stack trace,
          as returned by L{Thread.get_stack_trace_with_labels}.
  
          @type  stack_trace: list( int, int, str )
          @param stack_trace: Stack trace as a list of tuples of
              ( return address, frame pointer, module filename )
  
          @type  bits: int
          @param bits:
              (Optional) Number of bits of the target architecture.
              The default is platform dependent. See: L{HexDump.address_size}
  
          @rtype:  str
          @return: Text suitable for logging.