pdb cannot break in another thread? pdb cannot break in another thread? multithreading multithreading

pdb cannot break in another thread?


This works for me:

import threadingimport pdbclass SomeThread(threading.Thread):  def run(self):    a = 1    print a    pdb.set_trace()def main():  print 'hola'  pdb.set_trace()  someThread = SomeThread()  someThread.start()if __name__ == '__main__':  main()

Which gives me:

C:\Code>python b.pyhola> c:\code\b.py(13)main()-> someThread = SomeThread()(Pdb) l  8         pdb.set_trace()  9 10     def main(): 11       print 'hola' 12       pdb.set_trace() 13  ->   someThread = SomeThread() 14       someThread.start() 15 16     if __name__ == '__main__': 17       main()[EOF](Pdb) c1--Return--> c:\code\b.py(8)run()->None-> pdb.set_trace()(Pdb) l  3  4     class SomeThread(threading.Thread):  5       def run(self):  6         a = 1  7         print a  8  ->     pdb.set_trace()  9 10     def main(): 11       print 'hola' 12       pdb.set_trace() 13       someThread = SomeThread()(Pdb)

This is under Windows 7 and with Python 2.7.2. What OS & Python version are you using?


after you hit your first breakpoint, I assume you are stepping with (n) next line when you get to this line

someThread.start()

make sure you are using (s) step-into and not (n) next. pdb commands