问题描述
我正在使用多线程代码,并且PDB不会在手动设置的断点处停止:
(pdb) b filename:lineno
(pdb) c # Runs without stopping
原因可能是什么?
解决方法
截至2020年9月,Python的pdb调试器不支持多线程。
尝试从pdb开始的地方中断另一个线程,将跳过断点。这是由于当前使用sys.settrace()
的实现是特定于线程的。
除了其他多线程功能外,还有一个ticket用于实现此功能。
当前,唯一的选择是在正在调试的同一线程上pdb.set_trace()
。
例如,使用{.1 pdb
。