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

标签 python komodo komodoedit

通过 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 解释器并允许程序继续。

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

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

关于python - Komodo - 在程序暂停时观察变量并执行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1711193/

相关文章:

Komodo编辑 "new command"选项内存

python - IPython 输入预过滤器

python - 从 pdf 文件创建 .txt 文件

python - 无法让 IDLE 在 Mac 上运行

python - 使用 BeautifulSoup Issue 提取子标签文本

javascript - 在 Komodo 扩展中调试 Javascript

python - 无法在 Komodo 中创建和运行新的 python 文件

javascript - 匿名函数并不总是有返回值

python - 在 komodo 编辑中使用 time.sleep()?

php - Komodo 编辑功能并要求自动完成