--- a/eric7/Debugger/DebugUI.py Sun May 23 11:55:39 2021 +0200 +++ b/eric7/Debugger/DebugUI.py Fri May 21 18:04:01 2021 +0200 @@ -1373,8 +1373,9 @@ @param debuggerId ID of the debugger backend @type str """ - self.debugServer.remoteClientVariables( - debuggerId, 0, self.__localsVarFilterList) + if self.debugServer.isDebugging(): + self.debugServer.remoteClientVariables( + debuggerId, 0, self.__localsVarFilterList) def __getClientVariables(self, debuggerId): """ @@ -1396,8 +1397,8 @@ """ Private method to write the clients variables to the user interface. - @param scope scope of the variables (-1 = empty locals, 1 = global, - 0 = local) + @param scope scope of the variables + (-2 = no frame found, -1 = empty locals, 1 = global, 0 = local) @type int @param variables the list of variables from the client @type list @@ -1405,19 +1406,20 @@ @type str """ if debuggerId == self.getSelectedDebuggerId(): - self.ui.activateDebugViewer() - if scope > 0: - self.debugViewer.showVariables(variables, True) - if scope == 1: - # now get the local variables - self.debugServer.remoteClientVariables( - self.getSelectedDebuggerId(), - 0, self.__localsVarFilterList) - elif scope == 0: - self.debugViewer.showVariables(variables, False) - elif scope == -1: - vlist = [(self.tr('No locals available.'), '', '')] - self.debugViewer.showVariables(vlist, False) + if scope > -2: + self.ui.activateDebugViewer() + if scope > 0: + self.debugViewer.showVariables(variables, True) + if scope == 1: + # now get the local variables + self.debugServer.remoteClientVariables( + self.getSelectedDebuggerId(), + 0, self.__localsVarFilterList) + elif scope == 0: + self.debugViewer.showVariables(variables, False) + elif scope == -1: + vlist = [(self.tr('No locals available.'), '', '')] + self.debugViewer.showVariables(vlist, False) def __clientVariable(self, scope, variables, debuggerId): """