3 Stimmen

Wie kann ich Python-Code debuggen, ohne ein Skript auszuführen (mit Eclipse)?

Ich habe festgestellt, wie einfach es ist, ein Python-Skript in Eclipse zu debuggen. Setzen Sie einfach Haltepunkte und führen Sie ein Python-Skript über das Debug-Menü aus. Aber ist es möglich, einen interaktiven Python-Interpreter zu starten, anstatt ein bestimmtes Python-Skript auszuführen, während Eclipse immer noch auf Breakpoints reagiert? Dies würde es ermöglichen also viel einfacher, Funktionen zu testen.

Danke für jede Hilfe


Ich suche immer noch nach einem einfachen Weg, den Debugger in Eclipse->PyDev zu starten, der mich den interaktiven Debugger benutzen lässt. Keine der bisherigen Antworten ist akzeptabel

2voto

WaffleSouffle Punkte 3153

Sie können explizit Code schreiben, um einen Haltepunkt in Ihrem Skript zu setzen, und dann "remote debuggen". Das bedeutet, dass Sie pydevd im Pythonpfad Ihres Skripts haben, wo auch immer es läuft, und den Eclipse Pydev Remote Debugger auf Ihrer Devbox laufen lassen. Wenn das alles auf demselben Rechner passiert, ist das ziemlich einfach. Wenn nicht, müssen Sie den Hostnamen des Entwicklungsrechners, auf dem der Python-Ferndebugger läuft, im Aufruf von settrace() angeben. Außerdem muss auf dem Rechner, auf dem das Skript ausgeführt wird, pydevd verfügbar sein.

Ich habe das in der Vergangenheit hinbekommen, ohne dass ich eclipse+pydevd auf dem Rechner installieren musste, auf dem das Skript läuft. Es ist nicht ganz einfach, und wenn Sie diesen Weg gehen, würde ich empfehlen, zu überprüfen, ob die pydevd-Versionen übereinstimmen oder Sie zumindest wissen, dass sie kompatibel sind. Andernfalls vergeuden Sie Zeit mit der Fehlersuche im Debugger.

Für weitere Informationen siehe: Pydev Fern-Debugger

0voto

Synapse Punkte 1504

Wie wäre es damit, im Skript eine Funktion zu schreiben, sagen wir onlyForTest, dann jedes Mal, wenn Sie eine neue Funktion zu schreiben und wollen es zu testen, können Sie einfach in die Funktion onlyForTest setzen, dann geben Sie einige Argumente erforderlich durch die neue Funktion, die Sie gerade schreiben, dann öffnen Sie die interaktive Python-Shell, importieren Sie das Skript, rufen Sie die Funktion onlyForTest, überprüfen Sie das Ergebnis.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X