PDB 不会在多线程代码中的断点处停止

Bha*_*rel 5 python debugging pdb

我正在使用多线程代码,并且 PDB 不会在手动设置断点处停止:

(pdb) b filename:lineno
(pdb) c  # Runs without stopping
Run Code Online (Sandbox Code Playgroud)

可能是什么原因?

Bha*_*rel 9

截至 2020 年 9 月,Python 的 pdb 调试器不支持多线程。

尝试在 pdb 启动的不同线程上中断,将跳过断点。这是由于当前使用的实现sys.settrace()是特定于线程的。

在其他多线程添加中,有一张用于实现此功能的票证。

目前,唯一的选择是pdb.set_trace()在同一线程上进行调试。