gpt4 book ai didi

python - Python 中的 setTrace()

转载 作者:太空狗 更新时间:2023-10-30 00:08:38 25 4
gpt4 key购买 nike

有没有办法在没有方法定义的脚本中使用 setTrace() 函数?即

for i in range(1, 100):
print i

def traceit(frame, event, arg):
if event == "line":
lineno = frame.f_lineno
print "line", lineno

return traceit

sys.settrace(traceit)

所以理想情况下,我希望在循环中执行的每次迭代/代码行中调用跟踪函数。我已经使用以前具有方法定义的脚本完成了此操作,但我不确定如何让它在这种情况下工作。

最佳答案

settrace() 实际上只用于实现调试器。如果你用它来调试这个程序,你可能最好使用 PDB

根据文档,settrace() 不会执行您想要的操作。

如果您真的想逐行跟踪,请查看编译器包,它允许您访问和修改 Python 编译器生成的 AST 抽象语法树。您应该能够使用它来插入对跟踪执行的函数的调用。

关于python - Python 中的 setTrace(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1600726/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com