Y at-il de toute façon pour obtenir pdb et Mac Terminal jouer bien?
Question
Lors du débogage mon django applications que j'utilise pdb pour le débogage interactif avec pdb.set_trace()
.
Cependant, quand je modifie un fichier le django locale redémarre webserver et je ne vois pas ce que je tape dans le terminal, jusqu'à ce que je tape reset
.
Y at-il de toute façon pour que cela se produise automatiquement? Il peut être vrai ennuyeux, devoir annuler la runserver et réinitialiser et redémarrer tout le temps. On me dit qu'il ne se produit pas sur d'autres OS (ubuntu) est donc de toute façon de le faire pas arriver sur le Mac? (J'utilise Snow Leopard).
La solution
OK - cela fonctionne pour moi, je créé un ~ / .pdbrc et ajouté
import os
os.system ( "stty sane")
Maintenant, chaque pdb de temps est exécuté, il définit les paramètres de la ligne arrière à sain d'esprit.
Si je tombe vers le terminal alors je dois encore le faire manuellement -. Mais il résout avoir à quitter runserver et réinitialiser tout le temps
Autres conseils
Essayez de [q
] uit pdb avant d'enregistrer les modifications dans un fichier. Cela permet de garder la console de attrapade sur vous, mais seulement pour qu'une série de pdb.set_trace ().
Vous devrez toujours fallback à l'ancienne ^ C + + reset
./manage.py runserver
lorsque vous oubliez de quitter pdb. Une chose qui peut faire la remise à zéro un peu moins ennuyeux est de mettre la remise à zéro et runserver sur une seule ligne. De cette façon, la remise à zéro est juste un
^Rreset
rapide ou flèche haut loin.
[ ... ]
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
^C$ reset && ./manage.py runserver
Le mieux que j'ai trouvé fait une remise à zéro à l'intérieur pdb comme ceci:
os à l'importation; os.system ( "Reset");