【发布时间】:2015-01-17 12:57:32
【问题描述】:
我一直在尝试调试基于 WAMP(Web 应用程序消息传递协议)的 python 组件的远程过程调用。例如:
前端(浏览器)
session.call('math.add2', [2, 'two']);
后端(python)
@wamp.register("math.add2")
def add2(self, x, y):
return x + y
它提供了一些关于错误的想法。
对于像这样的简单示例,这根本不重要,但对于具有大量文件和模块的大型应用程序,我不太确定找出错误以输出完整错误的最佳方法带有文件名、行号和描述的跟踪。
作为一种解决方案,我稍微修改了 wamp.py(添加了 traceback.print_exc() 行),如下所示,以在控制台日志中输出错误:
# autobahn/asyncio/wamp.py
...
import traceback
...
class FutureMixin:
...
@staticmethod
def _as_future(fun, *args, **kwargs):
try:
res = fun(*args, **kwargs)
except Exception as e:
traceback.print_exc() # Added this line
...
这是处理它的标准方法吗?
【问题讨论】:
标签: python debugging autobahn crossbar