Raf*_*fid 18 python debugging google-app-engine
在本地使用AppEngine(即使用dev_appserver.py)时,无论如何都要进行逐步调试吗?使用logging.info()或类似函数来显示代码中所有变量的值并确定错误的位置是一种过时的方式.
Wil*_*hen 15
在codeape的答案的第一个建议上稍微扩展一下:因为dev_appserver.py与stdin,stdout和stderr混在一起,所以需要做一些工作来设置"代码断点".这对我有用:
import sys
for attr in ('stdin', 'stdout', 'stderr'):
setattr(sys, attr, getattr(sys, '__%s__' % attr))
import pdb
pdb.set_trace()
Run Code Online (Sandbox Code Playgroud)
您必须dev_appserver.py
从命令行而不是通过GUI App Engine Launcher运行.pdb.set_trace()
执行该行时,您将在此时被放入pdb
调试器中.
如果本地appengine进程是一个普通的python进程,你有几个选择:
在您的代码中,放置"代码断点":import pdb; pdb.set_trace()
.dev_appserver.py
正常运行,python调试器在到达代码行时会中断.
dev_appserver.py
在pdb中运行.从壳:$ python -m pdb dev_appserver.py
.要设置断点,请使用该命令b filename.py:linenumber
.然后使用该c
命令继续.请参阅http://docs.python.org/library/pdb.html#debugger-commands
请参阅pdb模块文档.
归档时间: |
|
查看次数: |
5048 次 |
最近记录: |