Kann ich den Python-Debugger pdb mit Color ausgeben lassen?

8

Ich benutze PDB viel und es scheint, es wäre sogar besser, wenn ich Systax-Hervorhebung in Farbe hinzufügen könnte.

Idealerweise hätte ich gerne den Pfad zum Code eine hellere Farbe. Die Zeile des tatsächlichen Codes wäre Syntax hervorgehoben.

Ich verwende OS X und die Terminal-App. Python 2.7

    
BryanWheelock 15.08.2010, 15:48
quelle

5 Antworten

18

pdb unterstützt keine Einfärbung. Es ist jedoch nicht so schwer, es zu bekommen, selbst wenn Sie ein Befehlszeilensüchtiger sind (wie ich bin ;-) - Sie müssen nicht auf GUIs / IDEs umschalten, nur um beim Python-Debugging Farbgebung zu bekommen. Insbesondere arbeiten Kommandozeilen-Tools normalerweise viel besser, wenn Sie über SSH auf einen Remote-Computer zugreifen. Dadurch sparen Sie viel Bandbreite und Latenzprobleme, die Ihnen Remotezugriff auf GUIs und IDEs zufügen kann ; -).

Für die Aufgabe, nach der Sie fragen, sollten Sie ipdb (Sie benötigen auch ipython , das eine wesentlich erweiterte Shell bietet als einfaches interaktives Python, auf das ipdb angewiesen ist." Beide bieten Ihnen eine gute Tab-Vervollständigung, verbesserte Tracebacks, und Colorization - ipython für Ihre normale interaktive Arbeit, ipdb mit den gleichen Features, wenn Sie debuggen (ansonsten fast gleich wie pdb ).

    
Alex Martelli 15.08.2010, 16:08
quelle
6

Sie könnten pudb ausprobieren, was im Terminal funktioniert und folgendermaßen aussieht:

Ich habe einige der in anderen Antworten erwähnten Optionen nicht ausprobiert, aber um von den PyPI-Seiten zu unterscheiden, ist Pudb besser gepflegt und besser dokumentiert.

    
Jonathan Hartley 03.04.2012 10:13
quelle
1

Sehen Sie sich pdb ++ an - es ist ein Ersatz für pdb das erfüllt alle Ihre Anforderungen und fügt einige andere nette Eigenschaften hinzu, wie Tabulatorvervollständigung und neue Befehle wie Uhr und sticky.

    
Dave Kirby 15.08.2010 21:09
quelle
1

Falls jemand das Problem mit der Kolorierung in der Konsole hat.

Meine Konsole hatte einen weißen Hintergrund, während ipdb auch ziemlich helle Farben zur Syntax hinzufügte (zum Beispiel waren Variablen weiß). Pressing man ipython zeigt, dass wir 3 Farben zur Verfügung haben: 'nocolor', 'linux', 'LightBG'. Ipdb wurde in meinem Fall über easy_install in mein virtualenv installiert. Es war also trivial, in die ipdb-Quelle zu schauen und sie zu modifizieren (Tippsuche nach ipdb / init .py in deinem env). Dann habe ich folgendes geändert:

%Vor%

Es ist ein bisschen hackish Lösung, aber es ist gut für Debugging-Zwecke auf meiner Workstation, so dass es ausreicht. Aber wenn jemand etwas besseres findet. Bitte senden Sie mir eine Nachricht was zu tun ist.

    
Drachenfels 17.02.2011 11:34
quelle
0

Dies ist möglicherweise nicht möglich, aber haben Sie versucht, einen grafischen Debugger zu verwenden (wie den in eclipse / pydev )? Es gibt Ihnen Ihre Syntax-Hervorhebung und vieles mehr.

Ich benutze pdb nur direkt, wenn ich keine Option habe, weil eine grafische Benutzeroberfläche einfach viel schöner ist.

    
Mattias Nilsson 15.08.2010 15:52
quelle

Tags und Links