--- 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): """