pythonanvilappserver:您能在服务器端代码上运行python调试程序pdb或ipdb吗?

2024-05-29 00:01:19 发布

您现在位置:Python中文网/ 问答频道 /正文

  • 我正在用python的anvil应用服务器进行一些web开发https://pypi.org/project/anvil-app-server/
  • 我想使用调试器,因为它是服务器端python代码的一个强大/有用的工具
  • 我生成了一个名为ServerSidePdb的hello world应用程序
  • 我将pdbipdb放入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调试程序pdb或ipdb吗?如果是,如何进行?


Tags: run代码pyapp应用程序helloserver服务器端
1条回答
网友
1楼 · 发布于 2024-05-29 00:01:19
  • 服务器端代码在java服务器下执行,java服务器捕获stdin/stdout,它阻止您直接运行pdb或ipdb
  • 我听说vscode具有良好的远程调试功能,因此这可能是跳转到调试器的一种方式
    • 所有anvil服务器回调都有30秒的超时
    • 因此,请确保您只尝试在anvil后台任务中进行调试(否则我认为超时将过早停止您的调试)

相关问题 更多 >

    热门问题