2015-11-17 30 views
0

我正在为graphite-api开发cassandra存储查找器。 graphite-api通过pip安装,并通过gunicorn运行,所以我不能只用调试器调用脚本,但要使用交互式调试。如何调试在Web应用程序中自动调用的Python脚本?

当我在存储器中导入pdb并设置断点时,代码将暂停,但是现在如何连接到脚本中无头运行的pdb? 或者是我的方法来解决这个调试问题是错误的,这必须以完全其他方式完成?

回答

1

pdb控制枪炮,这不是你想要的。看看rpdb或其他远程调试解决方案。

+2

rpdb正是我正在寻找的。我查看了几个python远程调试页面,但没有一个似乎给我一个有用的远程调试解决方案。 rpdb在运行到rpdb.set_trace()时暂停整个gunicorn工作进程,然后我可以通过netcat进行连接并开始调试。对于任何其他搜索此用户的用户有用的信息,你必须启动一个非常高的值为--timeout参数的gunicorn,因为它会在30secods之后杀死悬挂的工作进程 – fxk8y

相关问题