def _run_gdb(self):
        # user wants to debug the program
        zvsh_args = DebugArgs()
        zvsh_args.parse(self.cmd_line[1:])
        self.args = zvsh_args.args
        self.zvsh = ZvShell(self.config, self.args.zvm_save_dir)
        # a month until debug session will time out
        self.zvsh.config['manifest']['Timeout'] = 60 * 60 * 24 * 30
        manifest_file = self.zvsh.add_arguments(self.args)
        zvm_run = [DEBUG_EXECUTABLE, DEBUG_OPTIONS,
                   manifest_file]
        command_line = [GDB,
                        '--command=%s' % self.zvsh.add_debug_script()]
        command_line.extend(self.args.gdb_args)
        command_line.append('--args')
        command_line.extend(zvm_run)
        print (' '.join(command_line))
        try:
            spawn(command_line)
        except (__HOLE__, Exception):
            pass
        finally:
            self.zvsh.cleanup()
dataset/ETHPy150Open zerovm/zerovm-cli/zvshlib/zvsh.py/Shell._run_gdb