Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PDB doesn't stop on breakpoint in multithreaded code

I'm using multi-threaded code and PDB doesn't stop on manually set breakpoints:

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

What could be the reason why?

like image 902
Bharel Avatar asked Sep 07 '26 20:09

Bharel


1 Answers

As of September 2020, Python's pdb debugger does not support multi-threading.

Attempting to break on a different thread from where pdb started, will skip the breakpoints. This is due to the current implementation using sys.settrace() which is thread-specific.

There's a ticket for implementing this functionality among other multi-threading additions.

Currently, the only option is to pdb.set_trace() on the same thread being debugged.

like image 153
Bharel Avatar answered Sep 10 '26 10:09

Bharel