bpo-36974: Fix GDB integration (GH-13665) · python/cpython@fecb75c (original) (raw)

Skip to content

Provide feedback

Saved searches

Use saved searches to filter your results more quickly

Sign up

Appearance settings

Commit fecb75c

As it changes the way functions are called, the PEP 590 implementation skipped the functions that the GDB integration is looking for (by name) to find function calls. Looking for the new helper `cfunction_call_varargs` hopefully fixes the tests, and thus buildbots. The changed frame nuber in test_gdb is due to there being fewer C calls when calling a built-in method.

File tree

2 files changed

lines changed

2 files changed

lines changed

Original file line number Diff line number Diff line change
@@ -887,7 +887,7 @@ def test_pycfunction(self):
887 887 breakpoint='time_gmtime',
888 888 cmds_after_breakpoint=['py-bt-full'],
889 889 )
890 -self.assertIn('#2 <built-in method gmtime', gdb_output)
890 +self.assertIn('#1 <built-in method gmtime', gdb_output)
891 891
892 892 @unittest.skipIf(python_is_optimized(),
893 893 "Python was compiled with optimizations")
Original file line number Diff line number Diff line change
@@ -1564,7 +1564,8 @@ def is_other_python_frame(self):
1564 1564 return False
1565 1565
1566 1566 if caller in ('_PyCFunction_FastCallDict',
1567 -'_PyCFunction_FastCallKeywords'):
1567 +'_PyCFunction_FastCallKeywords',
1568 +'cfunction_call_varargs'):
1568 1569 arg_name = 'func'
1569 1570 # Within that frame:
1570 1571 # "func" is the local containing the PyObject* of the