我经常在调试时发现我的代码中有一个小错误,即变量拼写错误。从头开始重新启动程序非常耗时。
是否可以纠正这个错误,然后让程序从中断的地方继续运行?具体来说,我一直在使用 Visual Studio 作为 IDE 使用 Python 进行编码。
最佳答案
由于您在 Visual Studio 上下文中谈论 Python,我假设您使用的是 Python Tools for Visual Studio (PTVS)。
您所指的功能在 VS 中通常称为“编辑并继续”(ENC),因为它最初是为 C# 和 VB 调用的。不幸的是,PTVS 还不支持它,但是有一个 feature request跟踪它 - 投票给它!
使用 Python Debug Interactive 窗口,也就是 Debug REPL(在 Debug -> Windows 中可用),可以实现一些有限形式的 ENC。这允许您在断点处中断,并以类似 REPL 的方式操纵流程的状态——例如,包括定义新函数或重新定义现有函数。这不是很细粒度,因为即使您只想更改单个标识符,您也必须重写整个函数体(尽管您可以将定义从编辑器复制/粘贴到 REPL 中,然后在那里进行编辑) .它也没有涵盖所有相同的场景——例如如果您重新定义的函数当前正在运行,它仍将使用原始定义;此外,如果有人隐藏了对原始函数的引用,那将不会受到影响。不过,在某些情况下,您可能会发现它很有用。
关于python - 在 Python Visual Studio 下调试时编辑并继续?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17619543/