code: def do_plugin(self, arg):
          
          pos = arg.find(' ')
          if pos < 0:
              name = arg
              arg  = ''
          else:
              name = arg[:pos]
              arg  = arg[pos:].strip()
          if not name:
              raise CmdError("missing plugin name")
          for c in name:
              if c not in self.valid_plugin_name_chars:
                  raise CmdError("invalid plugin name: %r" % name)
          name = 'winappdbg.plugins.do_%s' % name
          try:
              plugin = __import__(name)
              components = name.split('.')
              for comp in components[1:]:
                  plugin = getattr(plugin, comp)
                  reload(plugin)
          except ImportError:
              raise CmdError("plugin not found: %s" % name)
          try:
              return plugin.do(self, arg)
          except CmdError:
              raise
          except Exception:
              e = sys.exc_info()[1]
  ##            traceback.print_exc(e)      # XXX DEBUG
              raise CmdError("unhandled exception in plugin: %s" % e)
docs: [~prefix] .<name> [arguments] - run a plugin command
          [~prefix] plugin <name> [arguments] - run a plugin command