Можно ли отлаживать приложения CherryPy? - PullRequest
4 голосов
/ 29 июня 2010

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

Я пытался отлаживать свое приложение, используя Netbeans 6.8 (совсем не повезло) и недавно выпущенный Netbeans 6.9 (замечает, что код был вызван, но не может остановить выполнение кода).

Можно ли отлаживать приложения CherryPy?

Ответы [ 3 ]

4 голосов
/ 29 июня 2010

Я использую точки останова в cherrypy все время в Wing IDE (3.x).Я должен упомянуть, что я не отлаживаю, когда приложение размещается через веб-сервер.Я запускаю приложение, используя встроенный в веб-сервер cherrypy, используя мой интерпретатор CPython, установленный на компьютере.

Код выглядит примерно так:

# main.py

# ...snip...

if __name__ == '__main__':

    # Handle configuration settings, calling cherrypy.tree.mount in the process
    generate_app(options.environment)

    # Run the web server
    engine = cherrypy.engine
    try:
        engine.start()
    except:
        sys.exit(1)
    else:
        engine.block()

Затем в Wing IDE я помещаюгде-то точка останова (скажем, в одном из моих контроллеров), а затем запустите main.py через IDE.Указание браузера на URL контроллера приведет к срабатыванию точки останова.

Надеюсь, что информация была полезной.

3 голосов
/ 19 сентября 2013

Я использую WDB . Он использует веб-сокеты, отлично выглядит и может быть подключен в любом приложении WSGI (например, CherryPy). При запуске он открывает новую вкладку отладки в вашем браузере.

Следуйте этим инструкциям для настройки вашего приложения CherryPy , и в своем коде напишите строку, подобную следующей, и перезапустите приложение:

import wdb;wdb.set_trace()

Также должны отслеживаться любые исключения в приложении (но не все в CherryPy).

3 голосов
/ 29 июня 2010

Отладка (пошаговое выполнение кода), а затем отладка (игра с живой системой). Вы можете легко сделать это, установив http://www.aminus.net/wiki/HTTPREPL в своем приложении.

...