Komodo在程序暂停时观察变量并执行代码

2024-10-05 10:41:59 发布

您现在位置:Python中文网/ 问答频道 /正文

在visualstudioide中使用c,我可以在任何时候暂停程序并查看其变量,检查我想要的任何内容。我注意到,使用Komodo IDE,当有东西崩溃时,它停止了程序的运行,我可以做同样的事情。但由于某些原因,当我试图在手动暂停程序时做同样的事情时,似乎无法实现同样的效果。我是做错了什么事还是不可能?在后一种情况下,有人能解释一下为什么吗?是IDE相关还是Python相关?在

谢谢

编辑:还有一个问题,我怎么才能继续这个项目?据我所见,在我打电话后代码.交互(local=locals()),它的行为就像程序仍在运行,所以我不能在“运行”按钮中单击,只能在“暂停”或“关闭”上单击。在


Tags: 项目代码程序编辑内容local情况原因
1条回答
网友
1楼 · 发布于 2024-10-05 10:41:59

如果你把

import code
code.interact(local=locals())

在你的程序中,你将被转储到一个python解释器中。(见Method to peek at a Python program running right now

这和暂停Komodo有点不同,但是也许你可以用它来达到同样的目标。在

按Ctrl-d退出python解释器并允许程序继续运行。在

您可以使用回溯模块检查调用堆栈:

^{pr2}$

例如,下面是一个decorator,它打印调用堆栈:

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

相关问题 更多 >

    热门问题