10

我经常在调试时发现我的代码中有一个小错误,即变量拼写错误。必须从头开始重新启动程序非常耗时。

是否可以纠正这个错误,然后让程序从停止的地方继续运行?具体来说,我一直在使用 Visual Studio 作为 IDE 在 Python 中进行编码。

4

1 回答 1

7

由于您在 Visual Studio 上下文中谈论 Python,我假设您正在使用 Python Tools for Visual Studio (PTVS)。

您所指的功能在 VS 中通常称为“编辑并继续”(ENC),因为它最初是为 C# 和 VB 调用的。不幸的是,PTVS 还不支持它,但是有一个功能请求跟踪 - 投票给它!

使用 Python 调试交互式窗口,也就是 Debug REPL(在 Debug -> Windows 中可用)可以实现一些有限形式的 ENC。这允许您在断点处中断,并以类似 REPL 的方式操纵进程的状态 - 例如,包括定义新函数或重新定义现有函数。这不是很细粒度,因为即使您只想更改单个标识符,您也必须重写整个函数体(尽管您可以将编辑器中的定义复制/粘贴到 REPL 中,然后在那里进行编辑) . 它也没有涵盖所有相同的场景——例如,如果您重新定义的函数当前正在运行,它仍将使用原始定义;此外,如果有人隐藏对原始函数的引用,则不会受到影响。不过,在某些情况下,您可能会发现它很有用。

于 2013-08-07T02:12:12.813 回答