你能通过Python代码来帮助debugging问题吗?
在java / c#中,您可以轻松地通过代码来追踪可能出错的地方,而且IDE使得这个过程非常友好。
你能跟踪类似的Python代码吗?
是! 有一个名为pdb的Pythondebugging器只是为了做到这一点! 
 您可以使用pdb myscript.py或python -m pdb myscript.py通过pdb启动Python程序。 
 您可以发出几条命令,这些命令logging在pdb页面上。 
一些有用的记住是:
-   b:设置一个断点
-   c:继续debugging,直到你到达一个断点
-   s:遍历代码
-   n:转到下一行代码
-   l:列出当前文件的源代码(默认:11行,包括正在执行的行)
-   u:导航一个堆栈帧
-   d:向下导航一个堆栈帧
-   p:在当前上下文中打印expression式的值
如果你不想使用命令行debugging器,一些像Pydev这样的IDE有一个GUIdebugging器。
python中有一个叫做“pdb”的模块。 在你的python脚本的顶部
 import pdb pdb.set_trace() 
你将进入debugging模式。 您可以使用's'来执行,'n'跟随下一行,类似于您使用'gdb'debugging器执行的操作。
通过使用Python交互式debugging器'pdb'
第一步是让Python解释器进入debugging模式。
A.从命令行
从命令行运行python解释器的最直接的方法
 $ python -m pdb scriptName.py > .../pdb_script.py(7)<module>() -> """ (Pdb) 
B.在口译员内
开发模块的早期版本,并更迭迭地进行实验。
 $ python Python 2.7 (r27:82508, Jul 3 2010, 21:12:11) [GCC 4.0.1 (Apple Inc. build 5493)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import pdb_script >>> import pdb >>> pdb.run('pdb_script.MyObj(5).go()') > <string>(1)<module>() (Pdb) 
C.从您的程序中
对于一个大项目和长时间运行的模块,可以使用import pdb和set_trace()来启动程序内部的debugging:
 #!/usr/bin/env python # encoding: utf-8 # import pdb class MyObj(object): count = 5 def __init__(self): self.count= 9 def go(self): for i in range(self.count): pdb.set_trace() print i return if __name__ == '__main__': MyObj(5).go() 
逐步debugging进入更多的内部
- 
用“n”执行下一个语句(下一个) 
- 
重复上一个debugging命令…用ENTER键 
- 
退出所有…用“q” (退出) 
- 
用“p”打印variables值(打印) a) pa 
- 
closures(Pdb)提示…用“c” (继续) 
- 
看到你在哪里…用“l” (列表) 
- 
步入子程序…用“s” (步入) 
- 
继续…但是直到当前子程序结束…用“r” (返回) 
- 
分配一个新的值 a) !b =“B” 
- 
设置一个断点 a) 打破床单编号 b) 打破function名称 c) 中断文件名:linenumber 
- 
临时断点 a) tbreak linenumber 
- 
条件断点 一) 打破linenumber,条件 
注意:**所有这些命令都应该从** pdb执行
有关详细的知识,请参阅: –
https://pythonconquerstheuniverse.wordpress.com/2009/09/10/debugging-in-python/
如果你来自Java / C#背景,我想你最好的select是使用Eclipse与Pydev 。 这为您提供了一个内置debugging器的function齐全的IDE。我也使用它与django。
如果你想要一个集成了debugging器的IDE,可以试试PyScripter 。
通过Python代码以编程方式进行步进和追踪也是可能的(也很简单!)。 查看sys.settrace()文档了解更多细节。 另外这里是一个教程,让你开始。
Visual Studio与PTVS可能是您的select: http : //www.hanselman.com/blog/OneOfMicrosoftsBestKeptSecretsPythonToolsForVisualStudioPTVS.aspx
https://wiki.python.org/moin/PythonDebuggingTools
pudb是一个很好的替代pdb的替代品
你可以看看pythondebugging器 ,它只是通过一个GUI来完成你正在寻找的东西