From 8889ec73b3dd8e2ab63f27a3f96f9327345854bf 2024-01-14 17:28:12 From: M Bussonnier Date: 2024-01-14 17:28:12 Subject: [PATCH] ipdb: accept header= argument (#14289) This improves symmetry between Ipdb and vanilla old Pdb. The `header` argument to `pdb.set_trace()` [has been added in Python 3.7](https://docs.python.org/3.9/whatsnew/3.7.html#pdb). _(This still requires changes in [gotcha/ipdb](https://github.com/gotcha/ipdb) to be fully useful - I'll get to that later :wink:)_ --- diff --git a/IPython/core/debugger.py b/IPython/core/debugger.py index 33eab3a..d7ace4c 100644 --- a/IPython/core/debugger.py +++ b/IPython/core/debugger.py @@ -1111,10 +1111,13 @@ class InterruptiblePdb(Pdb): raise -def set_trace(frame=None): +def set_trace(frame=None, header=None): """ Start debugging from `frame`. If frame is not specified, debugging starts from caller's frame. """ - Pdb().set_trace(frame or sys._getframe().f_back) + pdb = Pdb() + if header is not None: + pdb.message(header) + pdb.set_trace(frame or sys._getframe().f_back)