python – Komodo – 在程序暂停时观察变量并执行代码
作者:互联网
使用Visual Studio IDE中的c#,我可以随时暂停一个程序并观察其变量,检查我想要的任何内容.我注意到,当Komodo IDE发生崩溃并停止程序流程时,我可以做同样的事情.但由于某种原因,似乎当我手动暂停程序时尝试执行相同操作时,同样无法实现.我做错了什么或者说不可能?在后一种情况下,有人可以解释为什么吗?是IDE相关还是Python相关?
谢谢
编辑:其他问题,我该如何继续该程序?从我所看到的,在我调用code.interact(local = locals())之后,它的行为就像程序仍在运行所以我不能单击“运行”按钮,只能在“暂停”或“关闭”.
解决方法:
如果你放
import code
code.interact(local=locals())
在你的程序中,然后你将被转储到python解释器. (见Method to peek at a Python program running right now)
这与暂停Komodo有点不同,但也许您可以使用它来实现相同的目标.
按Ctrl-d退出python解释器并允许程序恢复.
您可以使用traceback模块检查调用堆栈:
import traceback
traceback.extract_stack()
例如,这是一个打印调用堆栈的装饰器:
def print_trace(func):
'''This decorator prints the call stack
'''
def wrapper(*args,**kwargs):
stacks=traceback.extract_stack()
print('\n'.join(
[' '*i+'%s %s:%s'%(text,line_number,filename)
for i,(filename,line_number,function_name,text) in enumerate(stacks)]))
res = func(*args,**kwargs)
return res
return wrapper
像这样使用它:
@print_trace
def f():
pass
标签:komodoedit,python,komodo 来源: https://codeday.me/bug/20190929/1831738.html