eric6/Debugger/DebugServer.py

branch
multi_processing
changeset 7802
eefe954f01e8
parent 7646
39e3db2b4936
parent 7780
41420f82c0ac
child 7863
6725d2549801
equal deleted inserted replaced
7646:39e3db2b4936 7802:eefe954f01e8
4 # 4 #
5 5
6 """ 6 """
7 Module implementing the debug server. 7 Module implementing the debug server.
8 """ 8 """
9
10 9
11 import os 10 import os
12 11
13 from PyQt5.QtCore import pyqtSignal, pyqtSlot, QModelIndex 12 from PyQt5.QtCore import pyqtSignal, pyqtSlot, QModelIndex
14 from PyQt5.QtNetwork import ( 13 from PyQt5.QtNetwork import (
56 @signal clientVariable(scope, variables, debuggerId) emitted after a dump 55 @signal clientVariable(scope, variables, debuggerId) emitted after a dump
57 for one class variable has been received 56 for one class variable has been received
58 @signal clientStatement(continue, debuggerId) emitted after an interactive 57 @signal clientStatement(continue, debuggerId) emitted after an interactive
59 command has been executed. The parameter is False to indicate that the 58 command has been executed. The parameter is False to indicate that the
60 command is complete and True if it needs more input. 59 command is complete and True if it needs more input.
60 @signal clientDisassembly(disassembly, debuggerId) emitted after the client
61 has sent a disassembly of the code raising an exception
61 @signal clientException(exceptionType, exceptionMessage, stackTrace, 62 @signal clientException(exceptionType, exceptionMessage, stackTrace,
62 debuggerId) emitted after an exception occured on the client side 63 debuggerId) emitted after an exception occured on the client side
63 @signal clientSyntaxError(message, filename, linenumber, characternumber, 64 @signal clientSyntaxError(message, filename, linenumber, characternumber,
64 debuggerId) emitted after a syntax error has been detected on the 65 debuggerId) emitted after a syntax error has been detected on the
65 client side 66 client side
133 clientThreadList = pyqtSignal('PyQt_PyObject', list, str) 134 clientThreadList = pyqtSignal('PyQt_PyObject', list, str)
134 clientThreadSet = pyqtSignal(str) 135 clientThreadSet = pyqtSignal(str)
135 clientVariables = pyqtSignal(int, list, str) 136 clientVariables = pyqtSignal(int, list, str)
136 clientVariable = pyqtSignal(int, list, str) 137 clientVariable = pyqtSignal(int, list, str)
137 clientStatement = pyqtSignal(bool, str) 138 clientStatement = pyqtSignal(bool, str)
139 clientDisassembly = pyqtSignal(dict, str)
138 clientException = pyqtSignal(str, str, list, str) 140 clientException = pyqtSignal(str, str, list, str)
139 clientSyntaxError = pyqtSignal(str, str, int, int, str) 141 clientSyntaxError = pyqtSignal(str, str, int, int, str)
140 clientSignal = pyqtSignal(str, str, int, str, str, str) 142 clientSignal = pyqtSignal(str, str, int, str, str, str)
141 clientExit = pyqtSignal(str, int, str, bool, str) 143 clientExit = pyqtSignal(str, int, str, bool, str)
142 lastClientExited = pyqtSignal() 144 lastClientExited = pyqtSignal()
1433 """ 1435 """
1434 self.debuggerInterface.remoteClientVariable( 1436 self.debuggerInterface.remoteClientVariable(
1435 debuggerId, scope, filterList, var, framenr, 1437 debuggerId, scope, filterList, var, framenr,
1436 self.__maxVariableSize) 1438 self.__maxVariableSize)
1437 1439
1440 def remoteClientDisassembly(self, debuggerId):
1441 """
1442 Public method to ask the client for the latest traceback disassembly.
1443
1444 @param debuggerId ID of the debugger backend
1445 @type str
1446 """
1447 try:
1448 self.debuggerInterface.remoteClientDisassembly(debuggerId)
1449 except AttributeError:
1450 # remote client doesn't support that
1451 pass
1452
1438 def remoteClientSetFilter(self, debuggerId, scope, filterStr): 1453 def remoteClientSetFilter(self, debuggerId, scope, filterStr):
1439 """ 1454 """
1440 Public method to set a variables filter list. 1455 Public method to set a variables filter list.
1441 1456
1442 @param debuggerId ID of the debugger backend 1457 @param debuggerId ID of the debugger backend
1714 @type bool 1729 @type bool
1715 @param debuggerId ID of the debugger backend 1730 @param debuggerId ID of the debugger backend
1716 @type str 1731 @type str
1717 """ 1732 """
1718 self.clientStatement.emit(more, debuggerId) 1733 self.clientStatement.emit(more, debuggerId)
1734
1735 def signalClientDisassembly(self, disassembly, debuggerId):
1736 """
1737 Public method to process the disassembly info from the client.
1738
1739 @param disassembly dictionary containing the disassembly information
1740 @type dict
1741 @param debuggerId ID of the debugger backend
1742 @type str
1743 """
1744 if self.running:
1745 self.clientDisassembly.emit(disassembly, debuggerId)
1719 1746
1720 def signalClientException(self, exceptionType, exceptionMessage, 1747 def signalClientException(self, exceptionType, exceptionMessage,
1721 stackTrace, debuggerId): 1748 stackTrace, debuggerId):
1722 """ 1749 """
1723 Public method to process the exception info from the client. 1750 Public method to process the exception info from the client.

eric ide

mercurial