napisałem to na programmers.stackexchange.com, ale pomyślałem, że może być bardziej odpowiednie na SO.Emacs: metody debugowania pytona
używam emacs dla wszystkich moich edycji kodu potrzeb. Zazwyczaj użyję kompilacji Mx do uruchomienia mojego testu, który powiedziałbym, że dostaję około 70% tego, co muszę zrobić, aby kod był na bieżąco, ale ostatnio zastanawiałem się, w jaki sposób można użyć Mx pdb na okazje, w których miło byłoby trafić w punkt przełomowy i sprawdzić rzeczy.
W moim googling znalazłem some things, które sugerują, że jest to użyteczny/możliwe. Jednak nie udało mi się go uruchomić w sposób, który w pełni rozumiem.
Nie wiem, czy jest to połączenie buildout + AppEngine, które mogą być utrudniając ale gdy próbuję coś zrobić jak
M-x pdb
Run pdb (like this): /Users/twillis/projects/hydrant/bin/python /Users/twillis/bin/pdb /Users/twillis/projects/hydrant/bin/devappserver /Users/twillis/projects/hydrant/parts/hydrant-app/
Gdzie .../bin/python jest interpreter buildout robi ze ścieżką ustawioną dla wszystkich jaj.
~/bin/PDB jest prosty skrypt, aby zadzwonić do pdb.main użyciu bieżącego interpreter Pythona
HellooKitty:hydrant twillis$ cat ~/bin/pdb
#! /usr/bin/env python
if __name__ == "__main__":
import sys
sys.version_info
import pdb
pdb.main()
HellooKitty:hydrant twillis$
.../bin/devappserver jest skrypt dev_appserver że przepis buildout sprawia projektu gae i .../części/hydrant-app jest ścieżką do app.yaml
jestem pierwszy prezentowane z szybkiego
Current directory is /Users/twillis/bin/
C-c C-f
nic się nie dzieje, ale
HellooKitty:hydrant twillis$ ps aux | grep pdb
twillis 469 100.0 1.6 168488 67188 s002 Rs+ 1:03PM 0:52.19 /usr/local/bin/python2.5 /Users/twillis/projects/hydrant/bin/python /Users/twillis/bin/pdb /Users/twillis/projects/hydrant/bin/devappserver /Users/twillis/projects/hydrant/parts/hydrant-app/
twillis 477 0.0 0.0 2435120 420 s000 R+ 1:05PM 0:00.00 grep pdb
HellooKitty:hydrant twillis$
coś się dzieje
C-x [space]
zgłosi, że punkt przerwania został ustawiony. Ale nie potrafię sprawić, że wszystko pójdzie dobrze.
Czuję, że brakuje tu czegoś oczywistego. Czy ja jestem?
Tak, jest interaktywny debugowanie w emacs opłaca? Czy możliwe jest interaktywne debugowanie aplikacji Google Appengine? Jakieś sugestie, jak mogę to osiągnąć?
wyglądają tak: http://jjinux.blogspot.com/2008/05/python-debugging-google-app-engine-apps.html – systempuntoout
i tutaj http://code.google.com/p/googleappengine/issues/detail? id = 308 – systempuntoout