Browse Source

fix: ipdb по команде where показывал контекст одного того же фрейма для всего стека вызовов

После https://a.yandex-team.ru/review/4887980/details, команда where стала показывать контекст вызванной строки для каждого фрейма из стека вызовов. Но из-за ошибки всегда показывался одинаковый контекст действующего фрейма
andrey1931 1 year ago
parent
commit
841d152d11

+ 1 - 1
contrib/python/ipython/py2/IPython/core/debugger.py

@@ -408,7 +408,7 @@ class Pdb(OldPdb):
         ret.append(u'%s(%s)%s\n' % (link,lineno,call))
 
         start = lineno - 1 - context//2
-        lines = ulinecache.getlines(filename, self.curframe.f_globals)
+        lines = ulinecache.getlines(filename, frame.f_globals)
         start = min(start, len(lines) - context)
         start = max(start, 0)
         lines = lines[start : start + context]

+ 1 - 1
contrib/python/ipython/py3/IPython/core/debugger.py

@@ -616,7 +616,7 @@ class Pdb(OldPdb):
         ret.append("%s(%s)%s\n" % (link, lineno, call))
 
         start = lineno - 1 - context//2
-        lines = linecache.getlines(filename, self.curframe.f_globals)
+        lines = linecache.getlines(filename, frame.f_globals)
         start = min(start, len(lines) - context)
         start = max(start, 0)
         lines = lines[start : start + context]