#python #web-development-server #anvil
#python #веб-разработка-сервер #anvil
Вопрос:
- я занимаюсь веб-разработкой с помощью python anvil-app-server https://pypi.org/project/anvil-app-server /
- я хотел бы использовать отладчик, потому что это мощный / полезный инструмент для кода python на стороне сервера
- я сгенерировал приложение hello-world с именем ServerSidePdb
- я ввел
pdb
иipdb
в обратный вызов на стороне сервера для приложения, созданного helloworld, и получил вывод консоли, который выглядит как ошибка:
Calling function 'say_hello_name' for app 'ServerSidePdb' (ID client-q5jGe8vXpy/ATVXEjmwQAw==)
[DEBUG anvil.app-server.run] [SERVER] > /home/trevor/workspace/anvil/MyApp/ServerModule1.py(13)say_hello_name()
Worker terminated for IDs set() (return code -9)
[DEBUG anvil.app-server.run] [SERVER] (Pdb)
[ERROR anvil.app-server.run] Error report from client code:
AnvilWrappedError: [unexpected error]
Traceback:
/usr/lib64/python3.6/bdb.py:70
/usr/lib64/python3.6/bdb.py:51
MyApp/ServerModule1.py:13
MyApp/ServerModule1.py:13
app/MyApp/Form1/__init__.py:15
можете ли вы запустить python debuggor pdb или ipdb в коде на стороне сервера? если да, то как?
Ответ №1:
- код на стороне сервера выполняется на сервере Java, а сервер Java фиксирует стандартный / стандартный вывод, что не позволяет напрямую запускать pdb или ipdb
- я слышал, что vscode обладает хорошей возможностью удаленной отладки, так что это может быть способ перейти в отладчик
- все обратные вызовы сервера anvil имеют 30-секундный тайм-аут
- поэтому убедитесь, что вы пытаетесь отлаживать только в фоновой задаче anvil (или я думаю, что время ожидания остановит вас преждевременно)