def close_debugger(self):
     db = self.interp.getdebugger()
     if db:
         self.interp.setdebugger(None)
         db.close()
         if self.interp.rpcclt:
             RemoteDebugger.close_remote_debugger(self.interp.rpcclt)
         self.resetoutput()
         self.console.write("[DEBUG OFF]\n")
         sys.ps1 = ">>> "
         self.showprompt()
     self.set_debugger_indicator()
 def close_debugger(self):
     db = self.interp.getdebugger()
     if db:
         self.interp.setdebugger(None)
         db.close()
         if self.interp.rpcclt:
             RemoteDebugger.close_remote_debugger(self.interp.rpcclt)
         self.resetoutput()
         self.console.write("[DEBUG OFF]\n")
         sys.ps1 = ">>> "
         self.showprompt()
     self.set_debugger_indicator()
 def restart_subprocess(self):
     if self.restarting:
         return self.rpcclt
     self.restarting = True
     # close only the subprocess debugger
     debug = self.getdebugger()
     if debug:
         try:
             # Only close subprocess debugger, don't unregister gui_adap!
             RemoteDebugger.close_subprocess_debugger(self.rpcclt)
         except:
             pass
     # Kill subprocess, spawn a new one, accept connection.
     self.rpcclt.close()
     self.unix_terminate()
     console = self.tkconsole
     was_executing = console.executing
     console.executing = False
     self.spawn_subprocess()
     try:
         self.rpcclt.accept()
     except socket.timeout as err:
         self.display_no_subprocess_error()
         return None
     self.transfer_path()
     # annotate restart in shell window and mark it
     console.text.delete("iomark", "end-1c")
     if was_executing:
         console.write('\n')
         console.showprompt()
     halfbar = ((int(console.width) - 16) // 2) * '='
     console.write(halfbar + ' RESTART ' + halfbar)
     console.text.mark_set("restart", "end-1c")
     console.text.mark_gravity("restart", "left")
     console.showprompt()
     # restart subprocess debugger
     if debug:
         # Restarted debugger connects to current instance of debug GUI
         gui = RemoteDebugger.restart_subprocess_debugger(self.rpcclt)
         # reload remote debugger breakpoints for all PyShellEditWindows
         debug.load_breakpoints()
     self.restarting = False
     return self.rpcclt
Example #4
0
 def open_debugger(self):
     if self.interp.rpcclt:
         dbg_gui = RemoteDebugger.start_remote_debugger(self.interp.rpcclt, self)
     else:
         dbg_gui = Debugger.Debugger(self)
     self.interp.setdebugger(dbg_gui)
     dbg_gui.load_breakpoints()
     sys.ps1 = "[DEBUG ON]\n>>> "
     self.showprompt()
     self.set_debugger_indicator()
 def restart_subprocess(self):
     if self.restarting:
         return self.rpcclt
     self.restarting = True
     # close only the subprocess debugger
     debug = self.getdebugger()
     if debug:
         try:
             # Only close subprocess debugger, don't unregister gui_adap!
             RemoteDebugger.close_subprocess_debugger(self.rpcclt)
         except:
             pass
     # Kill subprocess, spawn a new one, accept connection.
     self.rpcclt.close()
     self.unix_terminate()
     console = self.tkconsole
     was_executing = console.executing
     console.executing = False
     self.spawn_subprocess()
     try:
         self.rpcclt.accept()
     except socket.timeout as err:
         self.display_no_subprocess_error()
         return None
     self.transfer_path()
     # annotate restart in shell window and mark it
     console.text.delete("iomark", "end-1c")
     if was_executing:
         console.write('\n')
         console.showprompt()
     halfbar = ((int(console.width) - 16) // 2) * '='
     console.write(halfbar + ' RESTART ' + halfbar)
     console.text.mark_set("restart", "end-1c")
     console.text.mark_gravity("restart", "left")
     console.showprompt()
     # restart subprocess debugger
     if debug:
         # Restarted debugger connects to current instance of debug GUI
         gui = RemoteDebugger.restart_subprocess_debugger(self.rpcclt)
         # reload remote debugger breakpoints for all PyShellEditWindows
         debug.load_breakpoints()
     self.restarting = False
     return self.rpcclt
Example #6
0
 def open_debugger(self):
     if self.interp.rpcclt:
         dbg_gui = RemoteDebugger.start_remote_debugger(self.interp.rpcclt, self)
     else:
         dbg_gui = Debugger.Debugger(self)
     self.interp.setdebugger(dbg_gui)
     dbg_gui.load_breakpoints()
     sys.ps1 = '[DEBUG ON]\n>>> '
     self.showprompt()
     self.set_debugger_indicator()
Example #7
0
    def restart_subprocess(self, with_cwd = False):
        if self.restarting:
            return self.rpcclt
        else:
            self.restarting = True
            debug = self.getdebugger()
            if debug:
                try:
                    RemoteDebugger.close_subprocess_debugger(self.rpcclt)
                except:
                    pass

            self.rpcclt.close()
            self.unix_terminate()
            console = self.tkconsole
            was_executing = console.executing
            console.executing = False
            self.spawn_subprocess()
            try:
                self.rpcclt.accept()
            except socket.timeout as err:
                self.display_no_subprocess_error()
                return None

            self.transfer_path(with_cwd=with_cwd)
            console.stop_readline()
            console.text.delete('iomark', 'end-1c')
            if was_executing:
                console.write('\n')
                console.showprompt()
            halfbar = (int(console.width) - 16) // 2 * '='
            console.write(halfbar + ' RESTART ' + halfbar)
            console.text.mark_set('restart', 'end-1c')
            console.text.mark_gravity('restart', 'left')
            console.showprompt()
            if debug:
                gui = RemoteDebugger.restart_subprocess_debugger(self.rpcclt)
                debug.load_breakpoints()
            self.compile.compiler.flags = self.original_compiler_flags
            self.restarting = False
            return self.rpcclt
Example #8
0
    def restart_subprocess(self):
        if self.restarting:
            return self.rpcclt
        else:
            self.restarting = True
            debug = self.getdebugger()
            if debug:
                try:
                    RemoteDebugger.close_subprocess_debugger(self.rpcclt)
                except:
                    pass

            self.rpcclt.close()
            self.unix_terminate()
            console = self.tkconsole
            was_executing = console.executing
            console.executing = False
            self.spawn_subprocess()
            try:
                self.rpcclt.accept()
            except socket.timeout as err:
                self.display_no_subprocess_error()
                return None

            self.transfer_path()
            console.text.delete('iomark', 'end-1c')
            if was_executing:
                console.write('\n')
                console.showprompt()
            halfbar = (int(console.width) - 16) // 2 * '='
            console.write(halfbar + ' RESTART ' + halfbar)
            console.text.mark_set('restart', 'end-1c')
            console.text.mark_gravity('restart', 'left')
            console.showprompt()
            if debug:
                gui = RemoteDebugger.restart_subprocess_debugger(self.rpcclt)
                debug.load_breakpoints()
            self.restarting = False
            return self.rpcclt
Example #9
0
 def restart_subprocess(self):
     if self.restarting:
         return self.rpcclt
     self.restarting = True
     # close only the subprocess debugger
     debug = self.getdebugger()
     if debug:
         try:
             # Only close subprocess debugger, don't unregister gui_adap!
             RemoteDebugger.close_subprocess_debugger(self.rpcclt)
         except:
             pass
     # Kill subprocess, spawn a new one, accept connection.
     self.rpcclt.close()
     self.unix_terminate()
     console = self.tkconsole
     was_executing = console.executing
     console.executing = False
     self.spawn_subprocess()
     try:
         self.rpcclt.accept()
     except socket.timeout, err:
         self.display_no_subprocess_error()
         return None
Example #10
0
 def start_the_debugger(self, gui_adap_oid):
     return RemoteDebugger.start_debugger(self.rpchandler, gui_adap_oid)
Example #11
0
File: run.py Project: thaolt/v0.83
 def start_the_debugger(self, gui_adap_oid):
     return RemoteDebugger.start_debugger(self.rpchandler, gui_adap_oid)
Example #12
0
            return None
        self.transfer_path()
        # annotate restart in shell window and mark it
        console.text.delete("iomark", "end-1c")
        if was_executing:
            console.write("\n")
            console.showprompt()
        halfbar = ((int(console.width) - 16) // 2) * "="
        console.write(halfbar + " RESTART " + halfbar)
        console.text.mark_set("restart", "end-1c")
        console.text.mark_gravity("restart", "left")
        console.showprompt()
        # restart subprocess debugger
        if debug:
            # Restarted debugger connects to current instance of debug GUI
            gui = RemoteDebugger.restart_subprocess_debugger(self.rpcclt)
            # reload remote debugger breakpoints for all PyShellEditWindows
            debug.load_breakpoints()
        self.restarting = False
        return self.rpcclt

    def __request_interrupt(self):
        self.rpcclt.remotecall("exec", "interrupt_the_server", (), {})

    def interrupt_subprocess(self):
        threading.Thread(target=self.__request_interrupt).start()

    def kill_subprocess(self):
        try:
            self.rpcclt.close()
        except AttributeError:  # no socket