2012-02-17 2 views
5

Я использую Eclipse (с PyDev) для удаления приложения web2py. Я выполнил this guide, чтобы настроить все. Теперь я хочу отлаживать свое приложение с помощью Eclipse. Однако по какой-то причине выполнение не останавливается (всегда), когда достигает точки останова.web2py Отладка с Eclipse

Я создал два отдельных приложения для web2py (в двух проектах Eclipse). Отладка, похоже, работает на одном, но не на другом. Оба проекта ссылаются на одну и ту же установку web2py. Таким образом, независимо от того, какой проект я запускаю .../Debug ... в Eclipse, web2py предлагает оба приложения через браузер.

Я создал простой тестовый файл (контроллеры/test.py) следующим образом:

def index(): 
    print 'I should break.' 
    print 'After the breakpoint' 
    return dict(test=1) 

Существует точка останова устанавливается на первый print заявление.

Я поместил этот файл в оба проекта (назовем их A и B).

У меня есть следующие замечания:

Когда я запускаю отладку с Eclipse, отладчик останавливает выполнение всякий раз, когда я попал в точку останова в файле test.py, который принадлежит к проекту А, но это, кажется, игнорировать точку останова в файл test.py, принадлежащий проекту B. Неважно, был ли запущен проект web2py (Eclipse-) A или проект B. Поведение всегда одно и то же. Точки останова в файлах, принадлежащих работе проекта A, те, что указаны в проекте B, игнорируются.

Я сравнивал все свойства проекта и запускал свойства конфигурации, и я не могу найти разницу (кроме имени и пути проекта).

Выполнение обоих проектов прекрасно работает. Например, вывод операторов print тестового файла, показанного выше, всегда отображается в консоли Eclipse.

Кто-нибудь знает, что здесь происходит? Какая разница в том, что он работает над проектом A, но не по проекту B?

Я использую Python 2.7.1.

Когда я установил

DEBUG_TRACE_LEVEL = 3 
DEBUG_TRACE_BREAKPOINTS = 3 

в затмение/плагины/org.python.pydev.debug/pysrc/pydevd_constants.py (в соответствии с просьбой в комментариях), я получаю следующий вывод на консоль:

отладчик pydev: начало ('Выполнение файла', 'C: \ misc \ web2py_src \ web2py \ web2py.py') ('arguments:', '[' C: \\ misc \\ web2py_src \\ web2py \\ web2py.py '] ") (' Подключение к ',' 127.0.0.1 ',': ',' 49565 ') (' Connected. ', (' полученная команда ',' 501 \ T1 \ T1.1') отправки CMD: CMD_VERSION 501 1 1,1

sending cmd: CMD_THREAD_CREATE 103 2 <xml><thread name="pydevd.reader" id="-1"/></xml> 

sending cmd: CMD_THREAD_CREATE 103 4 <xml><thread name="pydevd.writer" id="-1"/></xml> 

('received command ', '111\t3\tC:\\misc\\workspace\\Newtoon\\controllers\\test.py\t12\t**FUNC**index\tNone') 
Added breakpoint:c:\misc\workspace\newtoon\controllers\test.py - line:12 - func_name:index 
('received command ', '111\t5\tC:\\misc\\workspace\\Newtoon\\controllers\\importer.py\t11\t**FUNC**index\tNone') 
Added breakpoint:c:\misc\workspace\newtoon\controllers\importer.py - line:11 - func_name:index 
('received command ', '111\t7\tC:\\misc\\web2py_src\\web2py\\applications\\GeorgsTestApp\\controllers\\unique_names.py\t6\t**FUNC**index\tNone') 
Added breakpoint:c:\misc\web2py_src\web2py\applications\georgstestapp\controllers\unique_names.py - line:6 - func_name:index 
('received command ', '111\t9\tC:\\misc\\web2py_src\\web2py\\applications\\GeorgsTestApp\\controllers\\test.py\t12\t**FUNC**index\tNone') 
Added breakpoint:c:\misc\web2py_src\web2py\applications\georgstestapp\controllers\test.py - line:12 - func_name:index 
('received command ', '122\t11\t;;') 
Exceptions to hook : [] 
('received command ', '124\t13\t') 
('received command ', '101\t15\t') 
No handlers could be found for logger "web2py" 
web2py Web Framework 
Created by Massimo Di Pierro, Copyright 2007-2011 
Version 1.99.4 (2011-12-14 14:46:14) stable 
Database drivers available: SQLite3, pymysql 
Starting hardcron... 
WARNING:web2py.cron:WEB2PY CRON: Disabled because no file locking 
sending cmd: CMD_THREAD_CREATE 103 6 <xml><thread name="MainThread" id="pid5740_seq4" /></xml> 

sending cmd: CMD_THREAD_CREATE 103 8 <xml><thread name="Thread-4" id="pid5740_seq5" /></xml> 

please visit: 
    http://127.0.0.1:8000 
starting browser... 
sending cmd: CMD_THREAD_CREATE 103 10 <xml><thread name="Dummy-7" id="pid5740_seq6" /></xml> 

sending cmd: CMD_THREAD_CREATE 103 12 <xml><thread name="Dummy-6" id="pid5740_seq7" /></xml> 

sending cmd: CMD_THREAD_CREATE 103 14 <xml><thread name="Thread-13" id="pid5740_seq8" /></xml> 

sending cmd: CMD_THREAD_CREATE 103 16 <xml><thread name="Thread-10" id="pid5740_seq9" /></xml> 

sending cmd: CMD_THREAD_CREATE 103 18 <xml><thread name="Thread-11" id="pid5740_seq10" /></xml> 

sending cmd: CMD_THREAD_CREATE 103 20 <xml><thread name="Port8000" id="pid5740_seq11" /></xml> 

sending cmd: CMD_THREAD_CREATE 103 22 <xml><thread name="Thread-12" id="pid5740_seq12" /></xml> 

sending cmd: CMD_THREAD_CREATE 103 24 <xml><thread name="Thread-8" id="pid5740_seq13" /></xml> 

sending cmd: CMD_THREAD_CREATE 103 26 <xml><thread name="Thread-9" id="pid5740_seq14" /></xml> 

sending cmd: CMD_THREAD_CREATE 103 28 <xml><thread name="Thread-16" id="pid5740_seq15" /></xml> 

sending cmd: CMD_THREAD_CREATE 103 30 <xml><thread name="Thread-15" id="pid5740_seq16" /></xml> 

sending cmd: CMD_THREAD_CREATE 103 32 <xml><thread name="Thread-18" id="pid5740_seq17" /></xml> 

sending cmd: CMD_THREAD_CREATE 103 34 <xml><thread name="Thread-14" id="pid5740_seq18" /></xml> 

sending cmd: CMD_THREAD_CREATE 103 36 <xml><thread name="Thread-17" id="pid5740_seq19" /></xml> 

WARNING:web2py.cron:WEB2PY CRON: Disabled because no file locking 
I should break. 
After the breakpoint 
sending cmd: CMD_THREAD_SUSPEND 105 38 <xml><thread id="pid5740_seq12" stop_reason="111"><frame id="97199496" name="index" file="c%253A%255Cmisc%255Cweb2py_src%255Cweb2py%255Capplications%255Cgeorgstestapp%255Ccontrollers%255Ctest.py" line="12">"</frame><frame id="95957960" name="%26lt%3Blambda%26gt%3B" file="c%253A%255Cmisc%255Cweb2py_src%255Cweb2py%255Cgluon%255Cglobals.py" line="172">"</frame><frame id="100912680" name="%26lt%3Bmodule%26gt%3B" file="c%253A%255Cmisc%255Cweb2py_src%255Cweb2py%255Capplications%255Cgeorgstestapp%255Ccontrollers%255Ctest.py" line="19">"</frame><frame id="66219576" name="restricted" file="c%253A%255Cmisc%255Cweb2py_src%255Cweb2py%255Cgluon%255Crestricted.py" line="204">"</frame><frame id="96138760" name="run_controller_in" file="c%253A%255Cmisc%255Cweb2py_src%255Cweb2py%255Cgluon%255Ccompileapp.py" line="537">"</frame><frame id="96513256" name="serve_controller" file="c%253A%255Cmisc%255Cweb2py_src%255Cweb2py%255Cgluon%255Cmain.py" line="202">"</frame><frame id="62835496" name="wsgibase" file="c%253A%255Cmisc%255Cweb2py_src%255Cweb2py%255Cgluon%255Cmain.py" line="493">"</frame><frame id="62834872" name="app_with_logging" file="c%253A%255Cmisc%255Cweb2py_src%255Cweb2py%255Cgluon%255Cmain.py" line="676">"</frame><frame id="96071288" name="run_app" file="c%253A%255Cmisc%255Cweb2py_src%255Cweb2py%255Cgluon%255Crocket.py" line="1994">"</frame><frame id="66212296" name="run" file="c%253A%255Cmisc%255Cweb2py_src%255Cweb2py%255Cgluon%255Crocket.py" line="1302">"</frame><frame id="95948632" name="__bootstrap_inner" file="c%253A%255Cpython27%255Clib%255Cthreading.py" line="530">"</frame><frame id="96053672" name="__bootstrap" file="c%253A%255Cpython27%255Clib%255Cthreading.py" line="503">"</frame></thread></xml> 

WARNING:web2py.cron:WEB2PY CRON: Disabled because no file locking 
('received command ', '106\t17\tpid5740_seq12') 
('processing internal command ', '<pydevd_comm.InternalRunThread instance at 0x0000000005F82E88>') 
I should break. 
After the breakpoint 
sending cmd: CMD_THREAD_RUN 106 40 pid5740_seq12 None 

поведение не меняется. Точка останова в приложении B игнорируется, а работа в приложении A работает.

+0

Какую версию python вы используете? Можете ли вы изменить eclipse \ plugins \ org.python.pydev.debug \ pysrc \ pydevd_constants.py и установить DEBUG_TRACE_LEVEL = 3 и DEBUG_TRACE_BREAKPOINTS = 3, запустить вашу программу в обоих случаях и добавить результаты к вопросу? –

ответ

1

У меня возникла аналогичная проблема, когда я не мог получить контрольные точки для работы (pydev breakpoints not working).

Решение пока отсутствует, но, может быть, полезно знать, что я не использую web2py.