Debugowanie w Pythonie

Każdy o tym wie, wszyscy o tym mówią, ale nikt tego nie robi. Testy, należy pisać testy. Fajnie, jeśli program dodatkowo zapisuje gdzieś ważne w późniejszej analizie działania dane.

Ponieważ ostatnie tygodnie spędzam głównie na debugowaniu dużej aplikacji napisanej w Django, odkryłem lub dopiero doceniłem narzędzia które chyba każdy powinien znać:

  • ipython czyli 'interaktywniejsza' powłoka Pythona

  • pdb i ipdb, czyli interaktywne debugowanie kodu.

  • nose testy i nose-django

  • Grepowanie wszystkich plików w drzewie katalogów: find . -name "*" | xargs grep -i bla, lub jeszcze wygodniej - plugin do Vim

  • Vim NERD tree

  • Odpowiednio skonfigurowane Z Shell to sposób na jeszcze efektywniejszą pracę w konsoli.

  • mpd i ncmpc ;)

Na koniec link - debugowanie kodu w Django - stary, ale wciąż aktualny opis narzędzi przydatnych przy debugowaniu aplikacji napisanych w Django.

szarak

24.08.2009

find . -name "*" | xargs grep -i bla

przesadziles. grep potrafi przeszukiwac wiele plikow, takze rekurencyjnie. wystarczy samo: grep -iR bla *

poza tym fajny wpis ;)