eric6/Debugger/DebugUI.py

branch
multi_processing
changeset 7377
cc920e534ac0
parent 7374
5401ae8ddaa1
child 7379
72a72fd56494
diff -r 21df384d6150 -r cc920e534ac0 eric6/Debugger/DebugUI.py
--- 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):
         """

eric ide

mercurial