我经常发现在调试代码时,会出现一些小错误,例如变量拼写错误。如果需要重新从头开始运行程序,这将耗费大量时间。
是否有可能纠正这个错误,并让程序从它停止的地方继续运行?具体来说,我使用Visual Studio作为IDE,在Python中编码。
我经常发现在调试代码时,会出现一些小错误,例如变量拼写错误。如果需要重新从头开始运行程序,这将耗费大量时间。
是否有可能纠正这个错误,并让程序从它停止的地方继续运行?具体来说,我使用Visual Studio作为IDE,在Python中编码。
由于您在Visual Studio的上下文中谈论Python,我假设您正在使用Python Tools for Visual Studio (PTVS)。
您所指的功能通常在VS中称为“编辑并继续”(ENC),因为它最初是针对C#和VB而设计的。不幸的是,PTVS尚不支持此功能,但有一个功能请求跟踪它-请为它投票!
使用Python Debug Interactive窗口,也称为Debug REPL(在Debug -> Windows中可用),可以实现一定程度的ENC。这允许您在断点处中断,并以类似REPL的方式操作进程状态-包括定义新函数或重新定义现有函数等。这不是非常精细,因为即使您只想更改单个标识符,也必须重写整个函数体(虽然您可以将编辑器中的定义复制/粘贴到REPL中,然后在其中进行编辑)。它也不涵盖所有相同的场景-例如,如果您重新定义的函数当前正在运行,则仍将使用原始定义;此外,如果有人存储了对原始函数的引用,则不会受到影响。尽管如此,在某些情况下,您可能会发现它很有用。