在Java/ c#中,您可以很容易地逐级检查代码以跟踪可能出错的地方,而IDE使这个过程对用户非常友好。
你能以类似的方式跟踪python代码吗?
在Java/ c#中,您可以很容易地逐级检查代码以跟踪可能出错的地方,而IDE使这个过程对用户非常友好。
你能以类似的方式跟踪python代码吗?
当前回答
如果你有Java/ c#背景,我猜你最好的选择是使用Eclipse和Pydev。这为您提供了一个内置调试器的功能齐全的IDE。我也用django。
其他回答
在python中有一个叫做'pdb'的模块。在python脚本的顶部
import pdb
pdb.set_trace()
然后进入调试模式。您可以使用's'步进,'n'跟随下一行,类似于使用'gdb'调试器。
如果你有Java/ c#背景,我猜你最好的选择是使用Eclipse和Pydev。这为您提供了一个内置调试器的功能齐全的IDE。我也用django。
Python导师是一个为新手设计的在线单步调试器。您可以在编辑页面上输入代码,然后单击“可视化执行”开始运行。
除其他外,它支持:
隐藏变量,例如,隐藏一个名为x的变量,把这个放在最后: # pythontutor_hide: x 保存/共享 其他一些语言,如Java, JS, Ruby, C, c++
然而,它也不支持很多东西,例如:
读取/写入文件-使用io。StringIO和io。取而代之的是BytesIO: demo 代码太大,运行时间太长,或者定义了太多的变量或对象 命令行参数 很多标准库模块,如argparse, csv, enum, html, os, sys, weakref… Python 3.7 +
是的!有一个名为pdb的Python调试器就是用来做这件事的!
可以使用pdb myscript.py或Python -m pdb myscript.py通过pdb启动Python程序。
然后可以发出一些命令,这些命令都记录在pdb页面上。
要记住的一些有用的方法是:
B:设置断点 C:继续调试,直到遇到断点 学生:按步骤执行代码 N:转到下一行代码 L:列出当前文件的源代码(默认为11行,包括正在执行的行) U:向上导航堆栈帧 D:向下浏览堆栈帧 P:在当前上下文中输出表达式的值
如果你不想使用命令行调试器,一些IDE,如Pydev, Wing IDE或PyCharm有一个GUI调试器。Wing和PyCharm都是商业产品,但Wing有一个免费的“个人”版本,PyCharm有一个免费的社区版本。
https://wiki.python.org/moin/PythonDebuggingTools
Pudb是PDB的一个很好的替代品