鉴于Python源代码,是否可以逐行运行代码,就好像你在调试一样?
当谈到函数调用时,我也想“进入”函数。
答案 0 :(得分:20)
python -m pdb <script.py>
将在Python debugger。
答案 1 :(得分:2)
我建议查看Eclipse和PyDev进行调试。我想有很多选择。
答案 2 :(得分:1)
答案 3 :(得分:1)
您所描述的是调试。所以这里是大多数代码编辑器(如 vs code、virtual studio、PyCharm、PyDev 等)使用的 python 调试器的源代码。看看这个https://github.com/fabioz/PyDev.Debugger
注意这仅用于python代码调试,不适用于其他语言
或者,您必须了解调试器如何工作的更好选择是查看这篇文章 https://opensource.com/article/19/8/debug-python
答案 4 :(得分:0)
看看ipython,你应该可以使用pdb和ipython的组合,比如在ipython中加载pdb来实现你需要的东西。
答案 5 :(得分:0)
对于大多数情况,其他答案中提到的调试工具是您所需要的-但是,如果您真的想逐行跟踪/控制程序,我认为您正在寻找
sys.settrace(tracefunc)-其中tracefunc是一个python函数,将针对一系列不同的事件-“ call”,“ line”,“ return”,“ exception”或“ opcode”进行调用。对于OP,“ line”事件在这里很有趣,它会在执行下一行代码之前立即触发。
示例:
def trace_dispatch(frame, event, arg):
if event == 'line':
record_line_execution(frame)
sys.settrace(trace_dispatch)
偶然-我很确定这是调试工具用于work their magic
的机制