python-anvil-app-server:你可以在服务器端代码上运行 python debuggor pdb 或 ipdb 吗?

Posted

技术标签:

【中文标题】python-anvil-app-server:你可以在服务器端代码上运行 python debuggor pdb 或 ipdb 吗?【英文标题】:python-anvil-app-server: can you run the python debuggor pdb or ipdb on the server side code? 【发布时间】:2021-03-02 14:56:25 【问题描述】: 我正在使用 python 的 anvil-app-server https://pypi.org/project/anvil-app-server/ 进行一些 Web 开发 我想使用调试器,因为它是服务器端 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 debuggor pdb 或 ipdb 吗?如果是,怎么做?

【问题讨论】:

【参考方案1】: 服务器端代码在 java 服务器下执行,java 服务器捕获 stdin/stdout 阻止您直接运行 pdb 或 ipdb 我听说 vscode 有一个很好的远程调试功能,所以这可能是跳入调试器的一种方式 所有 anvil 服务器回调都有 30 秒的超时时间 所以请确保您只尝试在 anvil 后台任务中进行调试(或者我认为超时会过早地阻止您)

【讨论】:

以上是关于python-anvil-app-server:你可以在服务器端代码上运行 python debuggor pdb 或 ipdb 吗?的主要内容,如果未能解决你的问题,请参考以下文章

我好想你

你告诉我你在做什么,工作?你确定你活着?

《让我怎样感谢你》

闹够了没有

人民日报推荐好文《善待你所在的单位》

PHP 如果你不存在,我们会帮助你。那我们打算打开你。