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

问题描述

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

(pdb) b filename:lineno
(pdb) c  # Runs without stopping

原因可能是什么?

解决方法

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

尝试从pdb开始的地方中断另一个线程,将跳过断点。这是由于当前使用sys.settrace()的实现是特定于线程的。

除了其他多线程功能外,还有一个ticket用于实现此功能。

当前,唯一的选择是在正在调试的同一线程上pdb.set_trace()

,

例如,使用{.1 pdb

https://pypi.org/project/web-pdb/

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...