eric6/Debugger/DebugServer.py

branch
maintenance
changeset 7737
5371a22cf2aa
parent 7642
72721823d453
parent 7707
6abcf4275d0e
child 7824
096b3ebc1409
--- a/eric6/Debugger/DebugServer.py	Sat Sep 05 11:26:33 2020 +0200
+++ b/eric6/Debugger/DebugServer.py	Sat Oct 03 11:13:46 2020 +0200
@@ -58,6 +58,8 @@
     @signal clientStatement(bool) emitted after an interactive command has
         been executed. The parameter is 0 to indicate that the command is
         complete and 1 if it needs more input.
+    @signal clientDisassembly(disassembly) emitted after the client has sent
+        a disassembly of the code raising an exception
     @signal clientException(exception) emitted after an exception occured on
         the client side
     @signal clientSyntaxError(exception) emitted after a syntax error has been
@@ -128,6 +130,7 @@
     clientVariables = pyqtSignal(int, list)
     clientVariable = pyqtSignal(int, list)
     clientStatement = pyqtSignal(bool)
+    clientDisassembly = pyqtSignal(dict)
     clientException = pyqtSignal(str, str, list)
     clientSyntaxError = pyqtSignal(str, str, int, int)
     clientSignal = pyqtSignal(str, str, int, str, str)
@@ -1257,7 +1260,17 @@
         """
         self.debuggerInterface.remoteClientVariable(
             scope, filterList, var, framenr, self.__maxVariableSize)
-        
+    
+    def remoteClientDisassembly(self):
+        """
+        Public method to ask the client for the latest traceback disassembly.
+        """
+        try:
+            self.debuggerInterface.remoteClientDisassembly()
+        except AttributeError:
+            # remote client doesn't support that
+            pass
+    
     def remoteClientSetFilter(self, scope, filterStr):
         """
         Public method to set a variables filter list.
@@ -1499,6 +1512,16 @@
         """
         self.clientStatement.emit(more)
         
+    def signalClientDisassembly(self, disassembly):
+        """
+        Public method to process the disassembly info from the client.
+        
+        @param disassembly dictionary containing the disassembly information
+        @type dict
+        """
+        if self.running:
+            self.clientDisassembly.emit(disassembly)
+    
     def signalClientException(self, exceptionType, exceptionMessage,
                               stackTrace):
         """

eric ide

mercurial