PyDev Interactive debugging

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Zap
User
Beiträge: 533
Registriert: Freitag 13. Oktober 2006, 10:56

Hallo!

Weiß einer ob (und wenn wie) man in Eclipse mit pyDev Plugin interaktiv debuggen kann?

Experementiere gerade etwas damit rum und habe bisher keine Möglichkeit gefunden. Unter interaktivem debugging verstehe ich das, was man mit dem pdb machen kann. Also an einer Stelle anhalten und Interaktiv testen.

Dieser Link verspricht einem zumindest vom Namen her, dass sowas möglich ist. Allerdings muss man Club-Mitgled sein um sich das Video angucken zu können.
http://showmedo.com/videotutorials/vide ... eriesID=49
micnic
User
Beiträge: 3
Registriert: Mittwoch 22. April 2009, 14:49

Hallo Zap,

mal eine kurze Version:

-Debug Perspektive öffnen (oben rechts ggf. über das Icon 'Open Perspective')
-Debug Server Starten
-im Quellcode etwas wie:

Code: Alles auswählen

import sys
sys.path.append('C:/Programme/eclipse/plugins/org.python.pydev.debug_1.4.5.2727/pysrc')
import pydevd
pydevd.settrace()
einbauen
-Breakpoint setzen (Doppelklick neben die Zeile)
-Programm ausführen und staunen ;)

Probier mal, ob du es so schon hinbekommst...
Zap
User
Beiträge: 533
Registriert: Freitag 13. Oktober 2006, 10:56

Danke, ich glaube aber das ist aber leider nicht das was ich suche.
Für mein Verständnis ist das Remote Debugging.
Obwohl ich im Moment daran scheiter diesen Debug Server zu starten.

Ich hab ein Projekt bei dem schon ein File gestartet wird.
Ohne Angabe eines Files kann ich kein Debugging starten.
Zap
User
Beiträge: 533
Registriert: Freitag 13. Oktober 2006, 10:56

Also ich kann mir nicht helfen, ich hab nicht einmal die Buttons die zum Starten dieses Debug Server vorgesehen sind.

Ich beziehe mich dabei auf diese Beschreibung:
http://fabioz.com/pydev/manual_adv_remote_debugger.html

Ich hab Eclipse 3.4.2 mit Pydev 1.4.5.2727
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Mit PyDev habe ich keine Erfahrung, kann aber berichten, dass man mit Netbeans und deren Python-Support ebenfalls Debuggen kann. Ich musste, als ich das ausprobiert habe, nichts weiter machen. Ging einfach so :)

Stefan
Zap
User
Beiträge: 533
Registriert: Freitag 13. Oktober 2006, 10:56

OK, ich brauchte noch ein weiteres Extension Paket.
Remote Debugging geht nur aber das ist wie shon vermutet nicht das was ich meinte.
Benutzeravatar
DatenMetzgerX
User
Beiträge: 398
Registriert: Freitag 28. April 2006, 06:28
Wohnort: Zürich Seebach (CH)

Das Packige ist gar nicht nötig. Du wählst das Script aus, dass du starten möchtest. Setzt an der gewünschten stelle einen Break Point (rechts bei der Zeilennummer auf die Leiste drücken, wird durch einen grünen Punkt markiert).

Oben im Menü hat es einen grünen Run knopf und links davon einen Käfer... dort klickst du auf das Pfeilchen nach unten neben dem Käfer und wählst Run as -> Python Script (oder so ) aus.

Das wäre alles, ausser du hast eine Anwendung die auf einem CherryPy Server oder so läuft, dann funktioniert dies nicht mehr.
Zap
User
Beiträge: 533
Registriert: Freitag 13. Oktober 2006, 10:56

Mir fehlte das Package "pydev Extensions" ich hatte vorher einen Updatepfad der sich rein das pyDev Package gezogen hat.
Aber wie schon gesagt: Remote Debugging funktioniert, war aber garnicht mein Ziel.
Danke trotzdem.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Zap hat geschrieben: Aber wie schon gesagt: Remote Debugging funktioniert, war aber garnicht mein Ziel.
Was hat "Remote Debugging" mit der von DatenMetzgerX beschriebenen Herangehensweise zu tun? Oder mal anders gefragt: Was verstehst Du unter "Remote Debugging"?
Zap
User
Beiträge: 533
Registriert: Freitag 13. Oktober 2006, 10:56

@Hyperion: Ich hab mich mit dem Remote Debugging nicht auf die Aussage von DatenMetzgerX bezogen ich wollte nur nochmal klar stellen das ich dieses Package pyDev Extension brauchte um die Beschreibung von micnic überhaupt nachvollziehen zu können.

Unter Remote Debugging verstehe ich:
In einer IDE einen Server zu starten (bei der Wing lauscht lauscht dieser im Hintergrund auf einem Port)
Wenn nun eine Applikation in Python gestartet wird und ein pydevd.settrace() (Eclipse pyDev Extension) bzw "import wingdbstub" (Wing) ausführt wird dies vom lauschenden Server registriert und man kann debuggen ohne das man den Prozess innerhalb der IDE gestartet hat.

Aber um das ganze hier mal zum Ende zu bringen.
Man muss zwischen pyDev und pyDev Extensions (Aptana) unterscheiden. Die pyDev Extensions bringen einige nette Features mit wie zB die Interactive Debug Cosole nach der ich gesucht habe.

Leider sind die Features zum Teil kostenpflichtig, somit bleibe ich lieber bei meinem IPython wenn ich experimentell etwas testen will.

Hier ist die Feature-Matrix:
http://fabioz.com/pydev/manual_adv_features.html
Zap
User
Beiträge: 533
Registriert: Freitag 13. Oktober 2006, 10:56

Zap hat geschrieben:@Hyperion: Ich hab mich mit dem Remote Debugging nicht auf die Aussage von DatenMetzgerX bezogen ich wollte nur nochmal klar stellen das ich dieses Package pyDev Extension brauchte um die Beschreibung von micnic überhaupt nachvollziehen zu können.

Unter Remote Debugging verstehe ich:
In einer IDE einen Server zu starten (bei der Wing lauscht dieser beipielsweise im Hintergrund auf einem Port)
Wenn nun eine Applikation in Python gestartet wird und ein pydevd.settrace() (Eclipse pyDev Extension) bzw "import wingdbstub" (Wing) ausführt wird dies vom lauschenden Server registriert und man kann debuggen ohne das man den Prozess innerhalb der IDE gestartet hat.

Aber um das ganze hier mal zum Ende zu bringen.
Man muss zwischen pyDev und pyDev Extensions (Aptana) unterscheiden. Die pyDev Extensions bringen einige nette Features mit wie zB die Interactive Debug Cosole nach der ich gesucht habe.

Leider sind die Features zum Teil kostenpflichtig, somit bleibe ich lieber bei meinem IPython wenn ich experimentell etwas testen will.

Hier ist die Feature-Matrix:
http://fabioz.com/pydev/manual_adv_features.html
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Ok, so sehe ich das auch. Aber Du willst ja gar kein Remote Debugging, sondern nur solches, das in einer lokalen Applikation läuft. Das sollte doch so einfach gehen, wie DatenMetzgerX es beschrieben hat?
Antworten