Отладка веб-приложений - PullRequest
       14

Отладка веб-приложений

8 голосов
/ 17 февраля 2009

За многие годы я довольно привык к пошаговым отладчикам, как в сборщике, так и в использовании отладчика pydev в Eclipse.

В настоящее время я делаю что-то на Python и запускаю это на Google App Engine, и я должен добавить, что я довольно новичок в разработке любого реального веб-приложения; Я никогда не делал ничего, кроме редактирования HTML-кода.

Итак, я запускаю Google dev_appserver и просматриваю свою работу на http://localhost, dig, и сейчас единственным инструментом, который я использую для выявления проблем, является PMD (отладчик бедняка). , . В основном запись вещей на HTML-страницы, чтобы увидеть значение локальных переменных.

Есть ли лучшая техника для борьбы с этим?

Ответы [ 4 ]

7 голосов
/ 17 февраля 2009

dev_appserver - это просто скрипт на python, вы можете просто использовать отладчик pydev в этом скрипте с соответствующими аргументами, насколько я знаю.

Вот очень подробное руководство о том, как это сделать:

http://www.ibm.com/developerworks/opensource/library/os-eclipse-mashup-google-pt1/index.html

4 голосов
/ 17 февраля 2009

Я бы предложил использовать операторы регистрации вместо распечаток, так как вы можете лучше их контролировать. В Python есть неплохая библиотека логов.

Для входа из Google App Engine, например, в. В Firebug есть также удобный инструмент под названием FirePython . Это позволяет входить в консоль Firebug из приложения Django или WSGI (это промежуточное ПО).

2 голосов
/ 17 февраля 2009

"Есть ли лучшая техника для борьбы с этим?" Не совсем.

«пошаговые отладчики» - их собственная проблема. Это своего рода умственный костыль, который облегчает получение чего-то, что выглядит как оно работает.

Во-первых, посмотрите на http://code.google.com/appengine/docs/python/tools/devserver.html#The_Development_Console что-то, что может быть полезным.

Во-вторых, обратите внимание, что --debug Печатает подробные сообщения отладки на консоли во время работы.

Наконец, обратите внимание, что вам понадобится много опыта Python и опыта Google AppEngine для написания таких вещей, как веб-приложения. Чтобы получить этот опыт, утверждение print действительно очень хорошо. Он показывает вам, что происходит, и побуждает вас по-настоящему понять, что вы ожидаете или намерены случиться.

Отладчики пассивны. Это сводится к написанию случайного кода, наблюдению за тем, что происходит, внесению изменений до тех пор, пока оно не заработает. Я видел, как люди делают это.

Оператор печати активен. Вы должны спланировать, что должно произойти, написать код и внимательно рассмотреть результаты, чтобы убедиться, что планы сработали. Если это не делает то, что вы хотели, вы должны выдвинуть гипотезу и проверить свою гипотезу. Если это работает, то вы «поняли», что происходит. Как только вы получите семантику Python и Google AppEngine, ваше понимание возрастет, и это станет действительно просто.

1 голос
/ 18 февраля 2009

Мой набор инструментов отладки для GAE:

  • стандартное ведение журнала Python вместо print операторов
  • Отладчик Werkzeug , если я не хочу заходить в консольный журнал при каждой ошибке (не все работает, особенно сеанс интерактивного интерпретатора)
  • интерактивная консоль на http://localhost:8080/_ah/admin/interactive (не так хорошо, как у python manage.py shell Джанго, но все же ...)

Символические отладчики не так ценятся, как в других местах, возможно, из-за превосходных механизмов самоанализа и отражения Python.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...