diff -r 431e6816c60c -r aa870fdd40d8 eric6/Debugger/DebuggerInterfaceNone.py --- a/eric6/Debugger/DebuggerInterfaceNone.py Sun Dec 06 18:37:08 2020 +0100 +++ b/eric6/Debugger/DebuggerInterfaceNone.py Mon Dec 07 17:56:21 2020 +0100 @@ -15,7 +15,6 @@ ClientTypeAssociations = [] -# TODO: synchronize debugger interface with Python one class DebuggerInterfaceNone(QObject): """ Class implementing a dummy debugger interface for the debug server. @@ -97,12 +96,15 @@ @return flag indicating success (boolean) """ return False - - def flush(self): + + def getDebuggerIds(self): """ - Public slot to flush the queue. + Public method to return the IDs of the connected debugger backends. + + @return list of connected debugger backend IDs + @rtype list of str """ - self.queue = [] + return [] def shutdown(self): """ @@ -131,20 +133,30 @@ return def remoteLoad(self, fn, argv, wd, traceInterpreter=False, - autoContinue=True, autoFork=False, forkChild=False): + autoContinue=True, autoFork=False, forkChild=False, + enableMultiprocess=False): """ Public method to load a new program to debug. - @param fn the filename to debug (string) - @param argv the commandline arguments to pass to the program (string) - @param wd the working directory for the program (string) - @keyparam traceInterpreter flag indicating if the interpreter library - should be traced as well (boolean) - @keyparam autoContinue flag indicating, that the debugger should not - stop at the first executable line (boolean) - @keyparam autoFork flag indicating the automatic fork mode (boolean) - @keyparam forkChild flag indicating to debug the child after forking - (boolean) + @param fn the filename to debug + @type str + @param argv the commandline arguments to pass to the program + @type str + @param wd the working directory for the program + @type str + @param traceInterpreter flag indicating if the interpreter library + should be traced as well + @type bool + @param autoContinue flag indicating, that the debugger should not + stop at the first executable line + @type bool + @param autoFork flag indicating the automatic fork mode + @type bool + @param forkChild flag indicating to debug the child after forking + @type bool + @param enableMultiprocess flag indicating to perform multiprocess + debugging + @type bool """ return @@ -152,12 +164,16 @@ """ Public method to load a new program to run. - @param fn the filename to run (string) - @param argv the commandline arguments to pass to the program (string) - @param wd the working directory for the program (string) - @keyparam autoFork flag indicating the automatic fork mode (boolean) - @keyparam forkChild flag indicating to debug the child after forking - (boolean) + @param fn the filename to run + @type str + @param argv the commandline arguments to pass to the program + @type str + @param wd the working directory for the program + @type str + @param autoFork flag indicating the automatic fork mode + @type bool + @param forkChild flag indicating to debug the child after forking + @type bool """ return @@ -165,11 +181,15 @@ """ Public method to load a new program to collect coverage data. - @param fn the filename to run (string) - @param argv the commandline arguments to pass to the program (string) - @param wd the working directory for the program (string) - @keyparam erase flag indicating that coverage info should be - cleared first (boolean) + @param fn the filename to run + @type str + @param argv the commandline arguments to pass to the program + @type str + @param wd the working directory for the program + @type str + @param erase flag indicating that coverage info should be + cleared first + @type bool """ return @@ -177,155 +197,227 @@ """ Public method to load a new program to collect profiling data. - @param fn the filename to run (string) - @param argv the commandline arguments to pass to the program (string) - @param wd the working directory for the program (string) - @keyparam erase flag indicating that timing info should be cleared - first (boolean) + @param fn the filename to run + @type str + @param argv the commandline arguments to pass to the program + @type str + @param wd the working directory for the program + @type str + @param erase flag indicating that timing info should be cleared + first + @type bool """ return - def remoteStatement(self, stmt): + def remoteStatement(self, debuggerId, stmt): """ Public method to execute a Python statement. - @param stmt the Python statement to execute (string). It - should not have a trailing newline. + @param debuggerId ID of the debugger backend + @type str + @param stmt the Python statement to execute. + @type str """ - self.debugServer.signalClientStatement(False) + self.debugServer.signalClientStatement(False, "") return - def remoteStep(self): + def remoteStep(self, debuggerId): """ Public method to single step the debugged program. + + @param debuggerId ID of the debugger backend + @type str """ return - def remoteStepOver(self): + def remoteStepOver(self, debuggerId): """ Public method to step over the debugged program. + + @param debuggerId ID of the debugger backend + @type str """ return - def remoteStepOut(self): + def remoteStepOut(self, debuggerId): """ Public method to step out the debugged program. + + @param debuggerId ID of the debugger backend + @type str """ return - def remoteStepQuit(self): + def remoteStepQuit(self, debuggerId): """ Public method to stop the debugged program. + + @param debuggerId ID of the debugger backend + @type str """ return - def remoteContinue(self, special=False): + def remoteContinue(self, debuggerId, special=False): """ Public method to continue the debugged program. + @param debuggerId ID of the debugger backend + @type str @param special flag indicating a special continue operation + @type bool """ return - def remoteMoveIP(self, line): + def remoteMoveIP(self, debuggerId, line): """ Public method to move the instruction pointer to a different line. + @param debuggerId ID of the debugger backend + @type str @param line the new line, where execution should be continued + @type int """ return - def remoteBreakpoint(self, fn, line, setBreakpoint, cond=None, temp=False): + def remoteBreakpoint(self, debuggerId, fn, line, setBreakpoint, cond=None, + temp=False): """ Public method to set or clear a breakpoint. - @param fn filename the breakpoint belongs to (string) - @param line linenumber of the breakpoint (int) - @param setBreakpoint flag indicating setting or resetting a - breakpoint (boolean) - @param cond condition of the breakpoint (string) - @param temp flag indicating a temporary breakpoint (boolean) + @param debuggerId ID of the debugger backend + @type str + @param fn filename the breakpoint belongs to + @type str + @param line linenumber of the breakpoint + @type int + @param setBreakpoint flag indicating setting or resetting a breakpoint + @type bool + @param cond condition of the breakpoint + @type str + @param temp flag indicating a temporary breakpoint + @type bool """ return - def remoteBreakpointEnable(self, fn, line, enable): + def remoteBreakpointEnable(self, debuggerId, fn, line, enable): """ Public method to enable or disable a breakpoint. - @param fn filename the breakpoint belongs to (string) - @param line linenumber of the breakpoint (int) + @param debuggerId ID of the debugger backend + @type str + @param fn filename the breakpoint belongs to + @type str + @param line linenumber of the breakpoint + @type int @param enable flag indicating enabling or disabling a breakpoint - (boolean) + @type bool """ return - def remoteBreakpointIgnore(self, fn, line, count): + def remoteBreakpointIgnore(self, debuggerId, fn, line, count): """ Public method to ignore a breakpoint the next couple of occurrences. - @param fn filename the breakpoint belongs to (string) - @param line linenumber of the breakpoint (int) - @param count number of occurrences to ignore (int) + @param debuggerId ID of the debugger backend + @type str + @param fn filename the breakpoint belongs to + @type str + @param line linenumber of the breakpoint + @type int + @param count number of occurrences to ignore + @type int """ return - def remoteWatchpoint(self, cond, setWatch, temp=False): + def remoteWatchpoint(self, debuggerId, cond, setWatch, temp=False): """ Public method to set or clear a watch expression. - @param cond expression of the watch expression (string) + @param debuggerId ID of the debugger backend + @type str + @param cond expression of the watch expression + @type str @param setWatch flag indicating setting or resetting a watch expression - (boolean) - @param temp flag indicating a temporary watch expression (boolean) + @type bool + @param temp flag indicating a temporary watch expression + @type bool """ return - def remoteWatchpointEnable(self, cond, enable): + def remoteWatchpointEnable(self, debuggerId, cond, enable): """ Public method to enable or disable a watch expression. - @param cond expression of the watch expression (string) - @param enable flag indicating enabling or disabling a watch - expression (boolean) + @param debuggerId ID of the debugger backend + @type str + @param cond expression of the watch expression + @type str + @param enable flag indicating enabling or disabling a watch expression + @type bool """ return - def remoteWatchpointIgnore(self, cond, count): + def remoteWatchpointIgnore(self, debuggerId, cond, count): """ Public method to ignore a watch expression the next couple of occurrences. - @param cond expression of the watch expression (string) - @param count number of occurrences to ignore (int) + @param debuggerId ID of the debugger backend + @type str + @param cond expression of the watch expression + @type str + @param count number of occurrences to ignore + @type int """ return - def remoteRawInput(self, s): + def remoteRawInput(self, debuggerId, inputString): """ Public method to send the raw input to the debugged program. - @param s the raw input (string) + @param debuggerId ID of the debugger backend + @type str + @param inputString the raw input + @type str """ return - def remoteThreadList(self): + def remoteThreadList(self, debuggerId): """ Public method to request the list of threads from the client. + + @param debuggerId ID of the debugger backend + @type str """ return - def remoteSetThread(self, tid): + def remoteSetThread(self, debuggerId, tid): """ Public method to request to set the given thread as current thread. - @param tid id of the thread (integer) + @param debuggerId ID of the debugger backend + @type str + @param tid id of the thread + @type int """ return + + def remoteClientStack(self, debuggerId): + """ + Public method to request the stack of the main thread. - def remoteClientVariables(self, scope, filterList, framenr=0, maxSize=0): + @param debuggerId ID of the debugger backend + @type str + """ + return + + def remoteClientVariables(self, debuggerId, scope, filterList, framenr=0, + maxSize=0): """ Public method to request the variables of the debugged program. + @param debuggerId ID of the debugger backend + @type str @param scope the scope of the variables (0 = local, 1 = global) @type int @param filterList list of variable types to filter out @@ -339,18 +431,20 @@ """ return - def remoteClientVariable(self, scope, filterList, var, framenr=0, - maxSize=0): + def remoteClientVariable(self, debuggerId, scope, filterList, var, + framenr=0, maxSize=0): """ Public method to request the variables of the debugged program. + @param debuggerId ID of the debugger backend + @type str @param scope the scope of the variables (0 = local, 1 = global) @type int @param filterList list of variable types to filter out @type list of str @param var list encoded name of variable to retrieve @type list of str - @param framenr framenumber of the variables to retrieve (int) + @param framenr framenumber of the variables to retrieve @type int @param maxSize maximum size the formatted value of a variable will be shown. If it is bigger than that, a 'too big' indication will @@ -358,31 +452,51 @@ @type int """ return + + def remoteClientDisassembly(self, debuggerId): + """ + Public method to ask the client for the latest traceback disassembly. - def remoteClientSetFilter(self, scope, filterStr): + @param debuggerId ID of the debugger backend + @type str + """ + return + + def remoteClientSetFilter(self, debuggerId, scope, filterStr): """ Public method to set a variables filter list. + @param debuggerId ID of the debugger backend + @type str @param scope the scope of the variables (0 = local, 1 = global) + @type int @param filterStr regexp string for variable names to filter out - (string) + @type str """ return - def setCallTraceEnabled(self, on): + def setCallTraceEnabled(self, debuggerId, on): """ Public method to set the call trace state. - @param on flag indicating to enable the call trace function (boolean) + @param debuggerId ID of the debugger backend + @type str + @param on flag indicating to enable the call trace function + @type bool """ return - def remoteEval(self, arg): + def remoteNoDebugList(self, debuggerId, noDebugList): """ - Public method to evaluate arg in the current context of the debugged - program. + Public method to set a list of programs not to be debugged. + + The programs given in the list will not be run under the control + of the multi process debugger. - @param arg the arguments to evaluate (string) + @param debuggerId ID of the debugger backend + @type str + @param noDebugList list of Python programs not to be debugged + @type list of str """ return @@ -392,18 +506,24 @@ """ return - def remoteCapabilities(self): + def remoteCapabilities(self, debuggerId): """ Public slot to get the debug clients capabilities. + + @param debuggerId ID of the debugger backend + @type str """ return - def remoteCompletion(self, text): + def remoteCompletion(self, debuggerId, text): """ Public slot to get the a list of possible commandline completions from the remote client. - @param text the text to be completed (string) + @param debuggerId ID of the debugger backend + @type str + @param text the text to be completed + @type str """ return