--- a/eric6/Debugger/DebugUI.py Mon Jan 27 19:50:40 2020 +0100 +++ b/eric6/Debugger/DebugUI.py Tue Jan 28 19:41:51 2020 +0100 @@ -138,6 +138,7 @@ debugServer.clientThreadSet.connect(self.__clientThreadSet) debugServer.clientThreadList.connect(debugViewer.showThreadList) + debugServer.clientDebuggerIds.connect(debugViewer.showDebuggersList) # Connect the signals emitted by the viewmanager vm.editorOpened.connect(self.__editorOpened) @@ -1270,11 +1271,14 @@ self.tr('The program being debugged has terminated' ' unexpectedly.')) - def __getThreadList(self): + def __getThreadList(self, debuggerId=""): """ Private method to get the list of threads from the client. + + @param debuggerId ID of the debugger backend + @type str """ - self.debugServer.remoteThreadList() + self.debugServer.remoteThreadList(debuggerId=debuggerId) def __clientThreadSet(self): """ @@ -1282,23 +1286,27 @@ """ self.debugServer.remoteClientVariables(0, self.localsVarFilter) - def __getClientVariables(self): + def __getClientVariables(self, debuggerId=""): """ Private method to request the global and local variables. In the first step, the global variables are requested from the client. Once these have been received, the local variables are requested. This happens in the method '__clientVariables'. + + @param debuggerId ID of the debugger backend + @type str """ # get globals first - self.debugServer.remoteClientVariables(1, self.globalsVarFilter) + self.debugServer.remoteClientVariables(1, self.globalsVarFilter, + debuggerId=debuggerId) # the local variables are requested once we have received the globals def __clientVariables(self, scope, variables): """ Private method to write the clients variables to the user interface. - @param scope scope of the variables (-1 = empty global, 1 = global, + @param scope scope of the variables (-1 = empty locals, 1 = global, 0 = local) @param variables the list of variables from the client """ @@ -2325,3 +2333,15 @@ @return list of all actions (list of E5Action) """ 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)