Question

J'utilise PDB beaucoup et il semble que ce serait encore mieux si je pouvais ajouter en évidence SYSTAX en couleur.

Idéalement, j'aimerais avoir le chemin vers le code d'une couleur plus claire. La ligne de code actuel serait la coloration syntaxique.

J'utilise OS X et l'application Terminal. Python 2.7

Était-ce utile?

La solution

pdb ne supporte pas colorisation. Cependant, il est pas si difficile à obtenir, même si vous êtes accro à la ligne de commande (comme je suis ;-) - vous ne devez pas passer à GUIs / IDEs juste pour obtenir la colorisation pendant le débogage Python. En particulier, les outils de ligne de commande généralement particulier travail beaucoup mieux quand vous accédez à une machine distante via SSH, économiser beaucoup de la bande passante et les problèmes de latence que tout accès à distance aux interfaces graphiques et IDEs peut vous infliger ; -.)

Plus précisément, pour la tâche que vous vous posez au sujet, pensez à ipdb (vous aussi ipython , qui offre une coquille beaucoup plus avancé que Python simple interactif, sur lequel repose ipdb ). Les deux offrent vous une bonne complétion, tracebacks amélioré, et colorisation - ipython pour votre travail interactif normale, ipdb avec les mêmes fonctions lorsque vous le débogage (sinon à peu près la même chose que pdb)

Autres conseils

Vous pouvez essayer PUDB , qui fonctionne dans le terminal et ressemble à ceci:

capture d'écran de PUDB

Je n'ai pas essayé quelques-unes des options mentionnées dans d'autres réponses, mais à en juger par les pages PyPI, PUDB est mieux entretenu et mieux documenté.

Jetez un oeil à pdb ++ - il est une solution de remplacement pour pdb qui remplit tous vos exigences et ajoute une autre belle caractéristiques telles que la complétion et de nouvelles commandes telles que la montre et collante.

Dans le cas où quelqu'un a frappé le problème avec la colorisation dans la console.

Ma console avait fond blanc tandis que ipdb a également été en ajoutant des couleurs claires plutôt à la syntaxe (par exemple les variables étaient blancs). Une pression sur l'homme ipython montre que nous avons 3 couleurs disponibles: 'nocolor', 'linux', 'lightbg'. Ipdb était installée dans mon cas par easy_install dans mon virtualenv. Donc, il est trivial de regarder dans la source ipdb et le modifier (recherche d'indices pour ipdb / init .py dans votre env). Ensuite, je l'ai modifié suivant:

def set_trace():
    ip = ipapi.get()
    + def_colors = ip.options.colors
    + def_colors = 'LightBG'
    Pdb(def_colors).set_trace(sys._getframe().f_back)

Il est un peu solution hackish mais bien son pour debug but sur mon poste de travail de sorte que son suffisante. Mais si quelqu'un trouve mieux. S'il vous plaît envoyez-moi un message quoi faire.

Cela pourrait ne pas possible pour vous, mais avez-vous essayé d'utiliser un débogueur graphique (comme celui eclipse / pydev )? Il vous donnera votre coloration syntaxique et bien plus encore.

Je n'utilise pdb directement si je n'ai pas une option, car une interface graphique est juste que beaucoup plus agréable.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top