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