【发布时间】:2020-09-06 17:52:06
【问题描述】:
我正在使用多线程代码,并且 PDB 不会在手动设置断点时停止:
(pdb) b filename:lineno
(pdb) c # Runs without stopping
可能是什么原因?
【问题讨论】:
我正在使用多线程代码,并且 PDB 不会在手动设置断点时停止:
(pdb) b filename:lineno
(pdb) c # Runs without stopping
可能是什么原因?
【问题讨论】:
截至 2020 年 9 月,Python 的 pdb 调试器不支持多线程。
尝试在与 pdb 启动位置不同的线程上中断,将跳过断点。这是由于当前使用sys.settrace() 的实现是线程特定的。
有一个ticket 用于在其他多线程添加中实现此功能。
目前,唯一的选择是在被调试的同一线程上pdb.set_trace()。
【讨论】:
而不是 pdb 使用例如web-pdb.
【讨论】: