Как я могу установить точку останова в моем приложении для торнадо?
Я пробовал pdb, но шлейфы приложений Tornado игнорируют мою команду pdb.set_trace() в моем приложении.Установите точки останова в приложении Tornado
3
A
ответ
2
Если вы используете приложение с помощью мастера, вы должны установить переменную окружения в .env-файле в корневую папку проекта. Установка переменной env в моем файле .env сделала тик.
PYTHONUNBUFFERED = истинный
Теперь я могу установить код точки останова в моем приложении, а также распечатать вывод логов сервера при запуске приложения с помощью бригадира.
1
Где вы положили pdb.set_trace()
...? Это работает для меня:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import tornado.httpserver
import tornado.ioloop
import tornado.options
import tornado.web
import pdb
from tornado.options import define, options
define("port", default=8000, help="run on the given port", type=int)
class IndexHandler(tornado.web.RequestHandler):
def get(self):
greeting = self.get_argument('greeting', 'Hello')
reself.write(greeting + ', friendly user!')
if __name__ == "__main__":
tornado.options.parse_command_line()
app = tornado.web.Application(handlers=[(r"/", IndexHandler)])
http_server = tornado.httpserver.HTTPServer(app)
http_server.listen(options.port)
pdb.set_trace()
tornado.ioloop.IOLoop.instance().start()
Сессия:
$ python test.py
> /home/mariusz/Dokumenty/Projekty/Testy/test.py(24)<module>()
-> tornado.ioloop.IOLoop.instance().start()
(Pdb) break 16
Breakpoint 1 at /home/mariusz/Dokumenty/Projekty/Testy/test.py:16
(Pdb) continue
> /home/mariusz/Dokumenty/Projekty/Testy/test.py(16)get()
-> self.write(greeting + ', friendly user!')
(Pdb) step
--Call--
> /usr/local/lib/python2.7/dist-packages/tornado/web.py(497)write()
-> def write(self, chunk):
(Pdb) step
> /usr/local/lib/python2.7/dist-packages/tornado/web.py(512)write()
-> if self._finished:
(Pdb) step
> /usr/local/lib/python2.7/dist-packages/tornado/web.py(516)write()
-> if isinstance(chunk, dict):
(Pdb)
После ввода continue
в выше кода отладчик остановился, потому что я должен был опрашивать http://localhost:8000/
в браузере, чтобы иметь RequestHandler
функцию на самом деле называется.
Смежные вопросы
- 1. Точка совпадения точки останова в приложении CUDA
- 2. точки останова не работают
- 3. точки останова в cloud9IDE
- 4. Точки останова в общих библиотеках из файла точки останова
- 5. Неразрывные точки останова (точки следа) в Javascript?
- 6. Зависимые точки останова
- 7. Точки останова не увольняются
- 8. Точки останова ChildWindow
- 9. Параметры настройки точки останова
- 10. Точки останова на ARM
- 11. Точки останова GDB
- 12. Макроостановка без точки останова
- 13. Xcode игнорирует точки останова
- 14. Ошибка компиляции точки останова
- 15. Фундаментальные точки останова
- 16. Как удалить точки останова?
- 17. Ошибка возврата точки останова
- 18. Точки останова не работают
- 19. Точки останова (пакет strucchange)
- 20. таНос запуск точки останова
- 21. Точки останова игнорируются
- 22. Точки останова PPC
- 23. Ошибка условием точки останова
- 24. Точки останова не работают
- 25. точки останова в каркасных Foundation
- 26. Точки останова в отладчике XCode
- 27. Точки останова в задании скрипта
- 28. Ошибки точки останова в javaeclipse
- 29. Проблема точки останова в VS2008
- 30. точки останова в Iphone 6+
Я использую Foreman для запуска своего приложения Tornado. Я думаю, его Форман, который игнорирует точки разрыва. –