PyDev Breakpoints в App Engine 1.7.6 сломан? - программирование

PyDev Breakpoints в App Engine 1.7.6 сломан?

Я только что обновил SDK для App Engine 1.7.6 для своего приложения python и понял, что контрольные точки больше не работают в PyDev (плагин Eclipse) при использовании новый dev_appserver.py.

Кто-нибудь знает, как их снова включить? Я предполагаю, что новый сервер порождает новый процесс для веб-сервера, а отладчик не присоединяется к нему. Я не уверен, как настроить его для этого.

Тем временем я использую сервер old_dev_appserver.py.

4b9b3361

Ответ 1

ОБНОВЛЕНИЕ 2012-07-27:

Следуя комментарию, я подтвердил, что проблема решена после обновления до PyDev. 2.8 и App Engine 1.8.2

OBSOLETE:

Я нашел следующий анализ проблемы в googleappengine issues tracker

Причина, по которой PDB не работает, связана с тем, что dev_appserver использует stdin/stdout для межпроцессного общения. Python имеет встроенный библиотеки для IPC: http://docs.python.org/2/library/ipc.html. dev_appserver должен использовать их, а затем stdin/stdout можно оставить чтобы PDB все еще работал.

Таким образом, кажется, что нет обходного пути, а не возврата к использованию old_dev_appserver.py

ОБНОВЛЕНИЕ 2013-04-23: Невозможность отладки раздражает. Многие разработчики жалуются на это

Я отслеживаю развитие этой проблемы здесь: http://goo.gl/XRU01

Ответ 2

Да, столкнулась с той же проблемой.

Откройте конфигурацию "Запуск/отладка" и установите для главного модуля:

${GOOGLE_APP_ENGINE}/old_dev_appserver.py

Ответ 3

Вы имеете в виду, что pdb.set_trace() не работает?

Ищите функцию MonkeyPatchPdb() в google/appengine/tools/dev_appserver.py

Запустите это где-нибудь в своем собственном проекте, прежде чем использовать pdb, и он должен его исправить.