File tree Expand file tree Collapse file tree 2 files changed +9
-11
lines changed
Expand file tree Collapse file tree 2 files changed +9
-11
lines changed Original file line number Diff line number Diff line change @@ -823,6 +823,8 @@ def test_bt_full(self):
823823 foo\(1, 2, 3\)
824824''' )
825825
826+ @unittest .skipIf (python_is_optimized (),
827+ "Python was compiled with optimizations" )
826828 def test_threads (self ):
827829 'Verify that "py-bt" indicates threads that are waiting for the GIL'
828830 cmd = '''
Original file line number Diff line number Diff line change @@ -1801,17 +1801,13 @@ def get_pyop(self):
18011801 frame = PyFramePtr (frame )
18021802 if not frame .is_optimized_out ():
18031803 return frame
1804- # gdb is unable to get the "frame" argument of PyEval_EvalFrameEx()
1805- # because it was "optimized out". Try to get "frame" from the frame
1806- # of the caller, _PyEval_Vector().
1807- orig_frame = frame
1808- caller = self ._gdbframe .older ()
1809- if caller :
1810- frame = caller .read_var ('frame' )
1811- frame = PyFramePtr (frame )
1812- if not frame .is_optimized_out ():
1813- return frame
1814- return orig_frame
1804+ cframe = self ._gdbframe .read_var ('cframe' )
1805+ if cframe is None :
1806+ return None
1807+ frame = PyFramePtr (cframe ["current_frame" ].dereference ())
1808+ if frame and not frame .is_optimized_out ():
1809+ return frame
1810+ return None
18151811 except ValueError :
18161812 return None
18171813
You can’t perform that action at this time.
0 commit comments