pdb kann nicht brechen in einem anderen thread?
Betrachten Sie dieses multi-threaded Programm:
import threading
class SomeThread(threading.Thread):
def run(self):
a = 1
print a
def main():
print 'hola'
someThread = SomeThread()
someThread.start()
if __name__ == '__main__':
main()
Wenn ich debug das Programm mit dem hve, Sie an der Eingabeaufforderung die ich im ersten Satz einen break-Punkt an jedem der beiden print-Anweisungen. Dann gehe ich weiter. pdb-Pausen bei print 'hola'
. Ich gehen wieder weiter und sehen die Wirkung der Druck in dem anderen thread, aber pdb nicht zu brechen.
Hilfe-Befehle Liste nicht alles zu wechseln-thread-Kontexten wie gdb... so... ist es einfach nicht möglich, in einem thread-Kontext um einen Haltepunkt zu setzen, dass wird die Reise in einem anderen Kontext?
- Mögliche Duplikate von PDB wird nicht aufhören, auf Haltepunkt
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese funktioniert bei mir:
Gibt mir:
Dies ist unter Windows 7 und mit Python 2.7.2. Was OS & Python-version verwenden Sie?
(Pdb) b 8
- Haltepunkt auf der print-Anweisung. Der Haupt-thread ehrt den Haltepunkt, aber der Kind-thread nicht.nachdem Sie traf Ihren ersten Haltepunkt, ich nehme an, Sie sind dabei, die mit (n) nächste Zeile
wenn Sie auf diese Zeile
stellen Sie sicher, Sie sind mit (s) step-in und keine (n) weiter.
pdb-Befehle