docs: def let_variable(self, frame_id, var_name, expression_value):
          """ Let a frame's var with a value by building then eval a let 
          expression with breakoints disabled.
          """
          breakpoints_backup = IKBreakpoint.backup_breakpoints_state()
          IKBreakpoint.disable_all_breakpoints()
  
          let_expression = "%s=%s" % (var_name, expression_value,)
  
          eval_frame = ctypes.cast(frame_id, ctypes.py_object).value
          global_vars = eval_frame.f_globals
          local_vars = eval_frame.f_locals
          try:
              exec(let_expression, global_vars, local_vars)
              error_message=""
          except Exception as e:
              t, result = sys.exc_info()[:2]
              if isinstance(t, str):
                  result_type = t
              else: 
                  result_type = str(t.__name__)
              error_message = "%s: %s" % (result_type, result,)
  
          IKBreakpoint.restore_breakpoints_state(breakpoints_backup)
  
          _logger.e_debug("let_variable(%s) => %s", 
                          let_expression, 
                          error_message or 'succeed')
          return error_message