diff -r 39e3db2b4936 -r eefe954f01e8 eric6/Debugger/DebugServer.py --- a/eric6/Debugger/DebugServer.py Sun Jul 05 11:11:24 2020 +0200 +++ b/eric6/Debugger/DebugServer.py Sun Oct 18 12:35:30 2020 +0200 @@ -7,7 +7,6 @@ Module implementing the debug server. """ - import os from PyQt5.QtCore import pyqtSignal, pyqtSlot, QModelIndex @@ -58,6 +57,8 @@ @signal clientStatement(continue, debuggerId) emitted after an interactive command has been executed. The parameter is False to indicate that the command is complete and True if it needs more input. + @signal clientDisassembly(disassembly, debuggerId) emitted after the client + has sent a disassembly of the code raising an exception @signal clientException(exceptionType, exceptionMessage, stackTrace, debuggerId) emitted after an exception occured on the client side @signal clientSyntaxError(message, filename, linenumber, characternumber, @@ -135,6 +136,7 @@ clientVariables = pyqtSignal(int, list, str) clientVariable = pyqtSignal(int, list, str) clientStatement = pyqtSignal(bool, str) + clientDisassembly = pyqtSignal(dict, str) clientException = pyqtSignal(str, str, list, str) clientSyntaxError = pyqtSignal(str, str, int, int, str) clientSignal = pyqtSignal(str, str, int, str, str, str) @@ -1435,6 +1437,19 @@ debuggerId, scope, filterList, var, framenr, self.__maxVariableSize) + def remoteClientDisassembly(self, debuggerId): + """ + Public method to ask the client for the latest traceback disassembly. + + @param debuggerId ID of the debugger backend + @type str + """ + try: + self.debuggerInterface.remoteClientDisassembly(debuggerId) + except AttributeError: + # remote client doesn't support that + pass + def remoteClientSetFilter(self, debuggerId, scope, filterStr): """ Public method to set a variables filter list. @@ -1717,6 +1732,18 @@ """ self.clientStatement.emit(more, debuggerId) + def signalClientDisassembly(self, disassembly, debuggerId): + """ + Public method to process the disassembly info from the client. + + @param disassembly dictionary containing the disassembly information + @type dict + @param debuggerId ID of the debugger backend + @type str + """ + if self.running: + self.clientDisassembly.emit(disassembly, debuggerId) + def signalClientException(self, exceptionType, exceptionMessage, stackTrace, debuggerId): """