Hallo liebes Python Forum,
ich würde gerne unter Linux ein Python Script mit DDD und dem pydb debuggen. An einer bestimmten Stelle steigt das Programm nun z.B. mit einem "Key Error" aus. Der pydb beendet sich nun und DDD startet ihn neu.
Ich möchte mir bestimmte Variablen ansehen, um auf den Fehler zu kommen. Leider geht das nicht weil pydb neu gestartet wurde und alles weg ist. Ich habe versucht vor die Stelle im Programm einen Breakpoint zusetzen, aber das geht nicht, weil pydb das Programm immer erst komplett ausführen will:
(pydb) file programm.py
oder
(pydb) break programm.py : 285
Führen nicht zum gewünschten Ergebnis. Kann mir jemand einen Tipp geben, wie ich das anstelle ?
CU momo
Frage : pydb und DDD nach Programmende
ist pydb der gleiche debugger wie pdb?
dann probiers mal mit
an der stelle an der du nachgucken möchtest.
funktioniert allerdings nur, wenn der Fehler beim ersten durchlauf stattfindet,
ansonsten musst du unter umständen eine ewigkeit 'n' drücken.
dann probiers mal mit
Code: Alles auswählen
import pdb
pdb.set_trace()
funktioniert allerdings nur, wenn der Fehler beim ersten durchlauf stattfindet,
ansonsten musst du unter umständen eine ewigkeit 'n' drücken.
Hallo nuss !
Danke, mit dem pdb geht es so. Der pydb scheint da etwas anders zu sein. Er kennt den Befehl zwar, und wenn ich mein Script mit
python Script.py
starte habe ich dann auch an der richtigen Stelle einen pydb-Prompt, aber im DDD läuft das Programm einfach weiter.
Immerhin kann ich mir so anzeigen lassen, was ich wollte, auch wenn man sich nicht ganz so schön grafisch an binären Bäumen entlang hangeln kann wie mit dem DDD.
CU momo
Danke, mit dem pdb geht es so. Der pydb scheint da etwas anders zu sein. Er kennt den Befehl zwar, und wenn ich mein Script mit
python Script.py
starte habe ich dann auch an der richtigen Stelle einen pydb-Prompt, aber im DDD läuft das Programm einfach weiter.
Immerhin kann ich mir so anzeigen lassen, was ich wollte, auch wenn man sich nicht ganz so schön grafisch an binären Bäumen entlang hangeln kann wie mit dem DDD.
CU momo