Revert "[3.6] bpo-30983: eval frame rename in pep 0523 broke gdb's python extension (GH-2803) (#3090)" (#3101)
https://github.com/python/cpython/commit/98e26979aa4c15b391fd3780340772a17d5... commit: 98e26979aa4c15b391fd3780340772a17d513d4d branch: 3.6 author: Victor Stinner <victor.stinner@gmail.com> committer: GitHub <noreply@github.com> date: 2017-08-16T11:02:08+02:00 summary: Revert "[3.6] bpo-30983: eval frame rename in pep 0523 broke gdb's python extension (GH-2803) (#3090)" (#3101) This reverts commit 09b77165e3fffa7b7ff160ad06042cdcfa004bf5. files: D Misc/NEWS.d/next/Tools-Demos/2017-08-14-15-37-38.bpo-30983.A7UzX8.rst M Tools/gdb/libpython.py diff --git a/Misc/NEWS.d/next/Tools-Demos/2017-08-14-15-37-38.bpo-30983.A7UzX8.rst b/Misc/NEWS.d/next/Tools-Demos/2017-08-14-15-37-38.bpo-30983.A7UzX8.rst deleted file mode 100644 index 44c5e1c6967..00000000000 --- a/Misc/NEWS.d/next/Tools-Demos/2017-08-14-15-37-38.bpo-30983.A7UzX8.rst +++ /dev/null @@ -1,4 +0,0 @@ -With PEP 523, gdb's Python integration stopped working properly for frames -using the ``_PyEval_EvalFrameDefault`` function. Affected functionality -included `py-list` and `py-bt`. This is now fixed. Patch by Bruno "Polaco" -Penteado. diff --git a/Tools/gdb/libpython.py b/Tools/gdb/libpython.py index 40e0a677cd0..31ae8117c78 100755 --- a/Tools/gdb/libpython.py +++ b/Tools/gdb/libpython.py @@ -1502,10 +1502,8 @@ def is_python_frame(self): return False def is_evalframeex(self): - '''Is this a PyEval_EvalFrameEx or _PyEval_EvalFrameDefault (PEP 0523) - frame?''' - if self._gdbframe.name() in ('PyEval_EvalFrameEx', - '_PyEval_EvalFrameDefault'): + '''Is this a PyEval_EvalFrameEx frame?''' + if self._gdbframe.name() == 'PyEval_EvalFrameEx': ''' I believe we also need to filter on the inline struct frame_id.inline_depth, only regarding frames with
participants (1)
-
Victor Stinner