编程语言
首页 > 编程语言> > python – Komodo – 在程序暂停时观察变量并执行代码

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