Fri, 01 Jan 2021 18:12:12 +0100
Debugger: did some fine tuning.
--- a/eric6/APIs/Python3/eric6.api Fri Jan 01 16:25:30 2021 +0100 +++ b/eric6/APIs/Python3/eric6.api Fri Jan 01 18:12:12 2021 +0100 @@ -534,6 +534,7 @@ eric6.Debugger.DebugServer.DebugServer.clientCompletionList?7 eric6.Debugger.DebugServer.DebugServer.clientDebuggerId?7 eric6.Debugger.DebugServer.DebugServer.clientDisassembly?7 +eric6.Debugger.DebugServer.DebugServer.clientDisconnected?7 eric6.Debugger.DebugServer.DebugServer.clientException?7 eric6.Debugger.DebugServer.DebugServer.clientExit?7 eric6.Debugger.DebugServer.DebugServer.clientGone?7 @@ -623,6 +624,7 @@ eric6.Debugger.DebugServer.DebugServer.signalClientCompletionList?4(completionList, text, debuggerId) eric6.Debugger.DebugServer.DebugServer.signalClientDebuggerId?4(debuggerId) eric6.Debugger.DebugServer.DebugServer.signalClientDisassembly?4(disassembly, debuggerId) +eric6.Debugger.DebugServer.DebugServer.signalClientDisconnected?4(debuggerId) eric6.Debugger.DebugServer.DebugServer.signalClientException?4(exceptionType, exceptionMessage, stackTrace, debuggerId) eric6.Debugger.DebugServer.DebugServer.signalClientExit?4(program, status, message, debuggerId) eric6.Debugger.DebugServer.DebugServer.signalClientLine?4(filename, lineno, debuggerId, forStack=False) @@ -661,7 +663,6 @@ eric6.Debugger.DebugUI.DebugUI.exceptionInterrupt?7 eric6.Debugger.DebugUI.DebugUI.executeMake?7 eric6.Debugger.DebugUI.DebugUI.getActions?4() -eric6.Debugger.DebugUI.DebugUI.getDebuggerData?4(debuggerId) eric6.Debugger.DebugUI.DebugUI.getSelectedDebuggerId?4() eric6.Debugger.DebugUI.DebugUI.initActions?4() eric6.Debugger.DebugUI.DebugUI.initMenus?4()
--- a/eric6/Debugger/DebugUI.py Fri Jan 01 16:25:30 2021 +0100 +++ b/eric6/Debugger/DebugUI.py Fri Jan 01 18:12:12 2021 +0100 @@ -2530,18 +2530,6 @@ """ return self.actions[:] - def getDebuggerData(self, debuggerId): - """ - Public method to refresh the debugging data of a specific debugger - backend. - - @param debuggerId ID of the debugger backend - @type str - """ - self.debugServer.remoteClientStack(debuggerId) - self.__getThreadList(debuggerId) - self.__getClientVariables(debuggerId) - def getSelectedDebuggerId(self): """ Public method to get the currently selected debugger ID.
--- a/eric6/Debugger/DebugViewer.py Fri Jan 01 16:25:30 2021 +0100 +++ b/eric6/Debugger/DebugViewer.py Fri Jan 01 18:12:12 2021 +0100 @@ -657,9 +657,7 @@ self.stackComboBox.clear() self.callStackViewer.clear() - self.debugUI.getDebuggerData(debuggerId) - self.debugUI.setDebugActionsEnabled( - self.getSelectedDebuggerState() != "running") + self.debugServer.remoteSetThread(debuggerId, -1) self.__showSource() else: # it is a thread item
--- a/eric6/Documentation/Help/source.qhp Fri Jan 01 16:25:30 2021 +0100 +++ b/eric6/Documentation/Help/source.qhp Fri Jan 01 18:12:12 2021 +0100 @@ -3328,6 +3328,7 @@ <keyword name="DebugServer.signalClientCompletionList" id="DebugServer.signalClientCompletionList" ref="eric6.Debugger.DebugServer.html#DebugServer.signalClientCompletionList" /> <keyword name="DebugServer.signalClientDebuggerId" id="DebugServer.signalClientDebuggerId" ref="eric6.Debugger.DebugServer.html#DebugServer.signalClientDebuggerId" /> <keyword name="DebugServer.signalClientDisassembly" id="DebugServer.signalClientDisassembly" ref="eric6.Debugger.DebugServer.html#DebugServer.signalClientDisassembly" /> + <keyword name="DebugServer.signalClientDisconnected" id="DebugServer.signalClientDisconnected" ref="eric6.Debugger.DebugServer.html#DebugServer.signalClientDisconnected" /> <keyword name="DebugServer.signalClientException" id="DebugServer.signalClientException" ref="eric6.Debugger.DebugServer.html#DebugServer.signalClientException" /> <keyword name="DebugServer.signalClientExit" id="DebugServer.signalClientExit" ref="eric6.Debugger.DebugServer.html#DebugServer.signalClientExit" /> <keyword name="DebugServer.signalClientLine" id="DebugServer.signalClientLine" ref="eric6.Debugger.DebugServer.html#DebugServer.signalClientLine" /> @@ -3353,6 +3354,7 @@ <keyword name="DebugUI.__clearBreakpoints" id="DebugUI.__clearBreakpoints" ref="eric6.Debugger.DebugUI.html#DebugUI.__clearBreakpoints" /> <keyword name="DebugUI.__clientBreakConditionError" id="DebugUI.__clientBreakConditionError" ref="eric6.Debugger.DebugUI.html#DebugUI.__clientBreakConditionError" /> <keyword name="DebugUI.__clientDebuggerId" id="DebugUI.__clientDebuggerId" ref="eric6.Debugger.DebugUI.html#DebugUI.__clientDebuggerId" /> + <keyword name="DebugUI.__clientDisconnected" id="DebugUI.__clientDisconnected" ref="eric6.Debugger.DebugUI.html#DebugUI.__clientDisconnected" /> <keyword name="DebugUI.__clientException" id="DebugUI.__clientException" ref="eric6.Debugger.DebugUI.html#DebugUI.__clientException" /> <keyword name="DebugUI.__clientExit" id="DebugUI.__clientExit" ref="eric6.Debugger.DebugUI.html#DebugUI.__clientExit" /> <keyword name="DebugUI.__clientGone" id="DebugUI.__clientGone" ref="eric6.Debugger.DebugUI.html#DebugUI.__clientGone" /> @@ -3410,7 +3412,6 @@ <keyword name="DebugUI.__toggleBreakpoint" id="DebugUI.__toggleBreakpoint" ref="eric6.Debugger.DebugUI.html#DebugUI.__toggleBreakpoint" /> <keyword name="DebugUI.clearHistories" id="DebugUI.clearHistories" ref="eric6.Debugger.DebugUI.html#DebugUI.clearHistories" /> <keyword name="DebugUI.getActions" id="DebugUI.getActions" ref="eric6.Debugger.DebugUI.html#DebugUI.getActions" /> - <keyword name="DebugUI.getDebuggerData" id="DebugUI.getDebuggerData" ref="eric6.Debugger.DebugUI.html#DebugUI.getDebuggerData" /> <keyword name="DebugUI.getSelectedDebuggerId" id="DebugUI.getSelectedDebuggerId" ref="eric6.Debugger.DebugUI.html#DebugUI.getSelectedDebuggerId" /> <keyword name="DebugUI.initActions" id="DebugUI.initActions" ref="eric6.Debugger.DebugUI.html#DebugUI.initActions" /> <keyword name="DebugUI.initMenus" id="DebugUI.initMenus" ref="eric6.Debugger.DebugUI.html#DebugUI.initMenus" />
--- a/eric6/Documentation/Source/eric6.Debugger.DebugServer.html Fri Jan 01 16:25:30 2021 +0100 +++ b/eric6/Documentation/Source/eric6.Debugger.DebugServer.html Fri Jan 01 18:12:12 2021 +0100 @@ -107,6 +107,11 @@ emitted after the client has sent a disassembly of the code raising an exception </dd> +<dt>clientDisconnected(str)</dt> +<dd> +emitted after a debug client has + disconnected (i.e. closed the network socket) +</dd> <dt>clientException(exceptionType, exceptionMessage, stackTrace,debuggerId)</dt> <dd> emitted after an exception occured on the client side @@ -671,6 +676,10 @@ <td>Public method to process the disassembly info from the client.</td> </tr> <tr> +<td><a href="#DebugServer.signalClientDisconnected">signalClientDisconnected</a></td> +<td>Public method to send a signal when a debug client has closed its connection.</td> +</tr> +<tr> <td><a href="#DebugServer.signalClientException">signalClientException</a></td> <td>Public method to process the exception info from the client.</td> </tr> @@ -2816,6 +2825,21 @@ ID of the debugger backend </dd> </dl> +<a NAME="DebugServer.signalClientDisconnected" ID="DebugServer.signalClientDisconnected"></a> +<h4>DebugServer.signalClientDisconnected</h4> +<b>signalClientDisconnected</b>(<i>debuggerId</i>) + +<p> + Public method to send a signal when a debug client has closed its + connection. +</p> +<dl> + +<dt><i>debuggerId</i> (str)</dt> +<dd> +ID of the debugger backend +</dd> +</dl> <a NAME="DebugServer.signalClientException" ID="DebugServer.signalClientException"></a> <h4>DebugServer.signalClientException</h4> <b>signalClientException</b>(<i>exceptionType, exceptionMessage, stackTrace, debuggerId</i>)
--- a/eric6/Documentation/Source/eric6.Debugger.DebugUI.html Fri Jan 01 16:25:30 2021 +0100 +++ b/eric6/Documentation/Source/eric6.Debugger.DebugUI.html Fri Jan 01 18:12:12 2021 +0100 @@ -135,12 +135,16 @@ <td>Private slot to track the list of connected debuggers.</td> </tr> <tr> +<td><a href="#DebugUI.__clientDisconnected">__clientDisconnected</a></td> +<td>Private slot to handle a debug client disconnecting its control socket.</td> +</tr> +<tr> <td><a href="#DebugUI.__clientException">__clientException</a></td> <td>Private method to handle an exception of the debugged program.</td> </tr> <tr> <td><a href="#DebugUI.__clientExit">__clientExit</a></td> -<td>Private method to handle the debugged program terminating.</td> +<td>Private slot to handle the debugged program terminating.</td> </tr> <tr> <td><a href="#DebugUI.__clientGone">__clientGone</a></td> @@ -363,10 +367,6 @@ <td>Public method to get a list of all actions.</td> </tr> <tr> -<td><a href="#DebugUI.getDebuggerData">getDebuggerData</a></td> -<td>Public method to refresh the debugging data of a specific debugger backend.</td> -</tr> -<tr> <td><a href="#DebugUI.getSelectedDebuggerId">getSelectedDebuggerId</a></td> <td>Public method to get the currently selected debugger ID.</td> </tr> @@ -550,6 +550,21 @@ ID of the debugger backend </dd> </dl> +<a NAME="DebugUI.__clientDisconnected" ID="DebugUI.__clientDisconnected"></a> +<h4>DebugUI.__clientDisconnected</h4> +<b>__clientDisconnected</b>(<i>debuggerId</i>) + +<p> + Private slot to handle a debug client disconnecting its control + socket. +</p> +<dl> + +<dt><i>debuggerId</i> (str)</dt> +<dd> +ID of the debugger backend +</dd> +</dl> <a NAME="DebugUI.__clientException" ID="DebugUI.__clientException"></a> <h4>DebugUI.__clientException</h4> <b>__clientException</b>(<i>exceptionType, exceptionMessage, stackTrace, debuggerId</i>) @@ -581,7 +596,7 @@ <b>__clientExit</b>(<i>program, status, message, quiet, debuggerId</i>) <p> - Private method to handle the debugged program terminating. + Private slot to handle the debugged program terminating. </p> <dl> @@ -1284,21 +1299,6 @@ list of all actions (list of E5Action) </dd> </dl> -<a NAME="DebugUI.getDebuggerData" ID="DebugUI.getDebuggerData"></a> -<h4>DebugUI.getDebuggerData</h4> -<b>getDebuggerData</b>(<i>debuggerId</i>) - -<p> - Public method to refresh the debugging data of a specific debugger - backend. -</p> -<dl> - -<dt><i>debuggerId</i> (str)</dt> -<dd> -ID of the debugger backend -</dd> -</dl> <a NAME="DebugUI.getSelectedDebuggerId" ID="DebugUI.getSelectedDebuggerId"></a> <h4>DebugUI.getSelectedDebuggerId</h4> <b>getSelectedDebuggerId</b>(<i></i>)