--- a/eric6/Debugger/DebugUI.py Wed Jan 29 19:38:13 2020 +0100 +++ b/eric6/Debugger/DebugUI.py Thu Jan 30 19:37:03 2020 +0100 @@ -34,7 +34,8 @@ """ Class implementing the debugger part of the UI. - @signal clientStack(stack) emitted at breaking after a reported exception + @signal clientStack(stack, debuggerId) emitted at breaking after a reported + exception @signal compileForms() emitted if changed project forms should be compiled @signal compileResources() emitted if changed project resources should be compiled @@ -48,7 +49,7 @@ @signal appendStdout(msg) emitted when the client program has terminated and the display of the termination dialog is suppressed """ - clientStack = pyqtSignal(list) + clientStack = pyqtSignal(list, str) resetUI = pyqtSignal() exceptionInterrupt = pyqtSignal() compileForms = pyqtSignal() @@ -137,9 +138,6 @@ debugServer.passiveDebugStarted.connect(self.__passiveDebugStarted) debugServer.clientThreadSet.connect(self.__clientThreadSet) - debugServer.clientThreadList.connect(debugViewer.showThreadList) - debugServer.clientDebuggerIds.connect(debugViewer.showDebuggersList) - # Connect the signals emitted by the viewmanager vm.editorOpened.connect(self.__editorOpened) vm.lastEditorClosed.connect(self.__lastEditorClosed) @@ -996,13 +994,18 @@ self.stopAct.setEnabled(False) self.resetUI.emit() - def __clientLine(self, fn, line, forStack): + def __clientLine(self, fn, line, debuggerId, forStack): """ Private method to handle a change to the current line. - @param fn filename (string) - @param line linenumber (int) - @param forStack flag indicating this is for a stack dump (boolean) + @param fn filename + @type str + @param line linenumber + @type int + @param debuggerId ID of the debugger backend + @type str + @param forStack flag indicating this is for a stack dump + @type bool """ self.ui.raise_() self.ui.activateWindow() @@ -1126,13 +1129,19 @@ '</p>') .format(filename, message, lineNo, characterNo)) - def __clientException(self, exceptionType, exceptionMessage, stackTrace): + def __clientException(self, exceptionType, exceptionMessage, stackTrace, + debuggerId=""): """ Private method to handle an exception of the debugged program. - @param exceptionType type of exception raised (string) - @param exceptionMessage message given by the exception (string) - @param stackTrace list of stack entries (list of string) + @param exceptionType type of exception raised + @type str + @param exceptionMessage message given by the exception + @type (str + @param stackTrace list of stack entries + @type list of str + @param debuggerId ID of the debugger backend + @type str """ self.ui.raise_() QApplication.processEvents() @@ -1216,7 +1225,7 @@ stack = [] for fn, ln, func, args in stackTrace: stack.append((fn, ln, func, args)) - self.clientStack.emit(stack) + self.clientStack.emit(stack, debuggerId) self.__getClientVariables() self.ui.setDebugProfile() self.debugActGrp.setEnabled(True) @@ -2251,6 +2260,7 @@ self.lastAction = 0 self.__enterRemote() self.debugServer.remoteContinue() + self.__getThreadList() def __specialContinue(self): """ @@ -2259,6 +2269,7 @@ self.lastAction = 2 self.__enterRemote() self.debugServer.remoteContinue(1) + self.__getThreadList() def __step(self): """ @@ -2275,6 +2286,7 @@ self.lastAction = 2 self.__enterRemote() self.debugServer.remoteStepOver() + self.__getThreadList() def __stepOut(self): """ @@ -2283,6 +2295,7 @@ self.lastAction = 3 self.__enterRemote() self.debugServer.remoteStepOut() + self.__getThreadList() def __stepQuit(self): """ @@ -2304,6 +2317,7 @@ self.debugServer.remoteBreakpoint( aw.getFileName(), line, 1, None, 1) self.debugServer.remoteContinue() + self.__getThreadList() def __moveInstructionPointer(self): """