diff -r 0d58e708f57b -r 1413bfe73d41 eric6/Debugger/DebuggerInterfacePython.py --- a/eric6/Debugger/DebuggerInterfacePython.py Mon Feb 10 19:49:45 2020 +0100 +++ b/eric6/Debugger/DebuggerInterfacePython.py Tue Feb 11 18:58:38 2020 +0100 @@ -547,6 +547,20 @@ self.debugServer.masterClientConnected() self.debugServer.initializeClient(debuggerId) + + # perform auto-continue except for master + if ( + self.__autoContinue and + debuggerId != self.__master and + debuggerId not in self.__autoContinued + ): + self.__autoContinued.append(debuggerId) + QTimer.singleShot( + 0, lambda: self.remoteContinue(debuggerId)) + # TODO: maybe the debugger ID should not be registered here but + # only in user_line. Seems the debugger stops in a frame + # outside of the debugged script and this continue moves it to + # the first line of the script. def __socketDisconnected(self, sock): """ @@ -560,6 +574,8 @@ del self.__connections[debuggerId] if debuggerId == self.__master: self.__master = None + if debuggerId in self.__autoContinued: + self.__autoContinued.remove(debuggerId) break else: if sock in self.__pendingConnections: @@ -568,6 +584,7 @@ if not self.__connections: # no active connections anymore self.debugServer.signalLastClientExited() + self.__autoContinued.clear() def getDebuggerIds(self): """ @@ -653,7 +670,8 @@ self.__master) def remoteLoad(self, fn, argv, wd, traceInterpreter=False, - autoContinue=True, autoFork=False, forkChild=False): + autoContinue=True, autoFork=False, forkChild=False, + enableMultiprocess=False): """ Public method to load a new program to debug. @@ -673,6 +691,9 @@ @type bool @param forkChild flag indicating to debug the child after forking @type bool + @param enableMultiprocess flag indicating to perform multiprocess + debugging + @type bool """ self.__autoContinue = autoContinue self.__scriptName = os.path.abspath(fn) @@ -686,6 +707,7 @@ "traceInterpreter": traceInterpreter, "autofork": autoFork, "forkChild": forkChild, + "multiprocess": enableMultiprocess, }, self.__master) def remoteRun(self, fn, argv, wd, autoFork=False, forkChild=False):