在Python Visual Studio下进行调试时编辑并继续?

时间:2013-07-12 16:25:04

标签: python visual-studio debugging ptvs

我经常在调试时发现我的代码中有一个小错误,即错误拼写变量。从一开始就要再次启动程序是非常耗时的。

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

1 个答案:

答案 0 :(得分:5)

由于您在Visual Studio上下文中讨论Python,我假设您正在使用Visual Studio(PTVS)的Python工具。

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

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

相关问题