Skip to content

pdbpp: Pdb.set_trace() got an unexpected keyword argument 'commands' #133914

@hugovk

Description

@hugovk

Bug report

Bug description:

a = 1
print(a)
breakpoint()
a = 2
print(a)

Works fine with pdb:

python3.14 --version
Python 3.14.0b1python3.14 1.py
1
> /private/tmp/1.py(3)<module>()
-> breakpoint()
(Pdb)

However, after installing pdbpp 0.11.6 (which has recently been forked and resurrected):

❯ python3.14 1.py
1
Traceback (most recent call last):
  File "/private/tmp/1.py", line 3, in <module>
    breakpoint()
    ~~~~~~~~~~^^
  File "/Library/Frameworks/Python.framework/Versions/3.14/lib/python3.14/pdb.py", line 2655, in set_trace
    pdb.set_trace(sys._getframe().f_back, commands=commands)
    ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: Pdb.set_trace() got an unexpected keyword argument 'commands'

(Python 3.13 works as expected.)

This is because the commands argument has been added in 3.14:

https://docs.python.org/3.14/library/pdb.html#pdb.set_trace

And it's likely that pdbpp has subclassed Pdb and doesn't yet support commands.

@gaogaotiantian Is this something that pdb or pdbpp should fix?

I've not tested other debuggers.

CPython versions tested on:

3.14

Operating systems tested on:

macOS

Metadata

Metadata

Assignees

No one assigned

    Labels

    3.14bugs and security fixes3.15new features, bugs and security fixesstdlibStandard Library Python modules in the Lib/ directorytype-bugAn unexpected behavior, bug, or error

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions