CGI-Python debuggen

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
da.dom
User
Beiträge: 114
Registriert: Dienstag 10. Juni 2008, 14:42

HuHu... (ich mal wieder :) )

hab da ein kleines verzwicktes Problem. Ich weiss nicht ob ich es gut genug beschreiben kann, was ich will. In einem Satz:

Ich will mein WebProjekt debuggen, dessen Serverteil, in Python geschrieben und per CGI angebunden ist.

Ausfürlicher:
Folgende Situation:
Habe ein WebProjekt, bei dem ich Serverseitig Python per CGI einbinde. Clientseitig benutze ich GWT (~"Java"), jetzt habe ich in Eclipse normalerweise die Möglichkeit:

a) natürlich: meinen JavaCode zu debuggen
b) (per Plugin PyDev) meinen PythonCode zu debuggen

Wenn ich mein WebProjekt jetzt aber im DebugModus starte, kann ich meine JavaKlassen zwar debuggen, aber die in Eclipse gesetzten Haltepunkte im Python Code, werden natürlich übergangen, da er das CGI Script nicht im "DebugModus" (?) anstartet. Geht so was überhaupt irgendwie :) ?

Danke schon mal
D
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Unter welchem Server läuft denn Dein Python-CGI-Script? Wenn Eclipse da keine Kontrolle drüber hat, dürfte es schwer werden aus Eclipse heraus das Debugging vorzunehmen ;-)
BlackJack

Debugger benutze ich bei Python gar nicht, das geht anscheinend auch vielen anderen so. Die Tracebacks und ein paar ``print``-Anweisungen eventuell in Kombination mit `repr()` reichen in der Regel aus.

Und natürlich versuche ich Code so zu schreiben, dass man ihn einfach testen kann. Also in einzelne Funktionen verpacken, die sich unabhängig vom Rest interaktiv in der Python-Shell und mit Doctests und Unittests ausführen lassen.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Schließe mich BlackJack an ;)

Bei CGI kann man [mod]cgitb[/mod] zum debuggen nutzten... An einer passenden Stelle ein "raise" auslösen und sich den Traceback ansehen...

So richtig Spass macht das alles aber erst mit einem richtigen Traceback, wie es z.B. django bietet: http://www.djangoproject.com/documentat ... ngs/#debug

Und noch besser ist es bei Werkzeug geregelt, wo man im Traceback noch Code ausführen kann:
http://werkzeug.pocoo.org/documentation/debug
http://dev.pocoo.org/projects/werkzeug/ ... WithDjango

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten