diff -r 69167c94995f -r 0b04348749ab src/eric7/DebugClients/Python/DebugClientBase.py --- a/src/eric7/DebugClients/Python/DebugClientBase.py Sun Nov 27 17:47:20 2022 +0100 +++ b/src/eric7/DebugClients/Python/DebugClientBase.py Sun Nov 27 17:59:59 2022 +0100 @@ -669,17 +669,14 @@ _globals = self.debugMod.__dict__ _locals = _globals else: - cf = self.currentThread.getCurrentFrame() + cf = self.currentThread.getFrame() # program has terminated if cf is None: self.running = None _globals = self.debugMod.__dict__ _locals = _globals else: - frmnr = self.framenr - while cf is not None and frmnr > 0: - cf = cf.f_back - frmnr -= 1 + cf = self.currentThread.getFrame(self.framenr) _globals = cf.f_globals _locals = self.currentThread.getFrameLocals( self.framenr @@ -1395,11 +1392,7 @@ if scope == 0: self.framenr = frmnr - f = self.currentThread.getCurrentFrame() - - while f is not None and frmnr > 0: - f = f.f_back - frmnr -= 1 + f = self.currentThread.getFrame(frmnr) if f is None: if scope == 1: @@ -1447,11 +1440,7 @@ return frmnr += self.currentThread.skipFrames - f = self.currentThread.getCurrentFrame() - - while f is not None and frmnr > 0: - f = f.f_back - frmnr -= 1 + f = self.currentThread.getFrame(frmnr) if f is None: if scope == 1: @@ -1734,14 +1723,8 @@ localCompleter = Completer(localdict).complete self.__getCompletionList(text, localCompleter, completions) - cf = self.currentThread.getCurrentFrame() - frmnr = self.framenr - while cf is not None and frmnr > 0: - cf = cf.f_back - frmnr -= 1 - + cf = self.currentThread.getFrame(self.framenr) globaldict = self.debugMod.__dict__ if cf is None else cf.f_globals - globalCompleter = Completer(globaldict).complete self.__getCompletionList(text, globalCompleter, completions)