2013-07-12 96 views
2

我經常在調試時發現我的代碼中有一個小錯誤,即拼寫錯誤的變量。必須從頭再次開始程序非常耗時。一般調試(Python Visual Studio)

是否有可能糾正這個錯誤,然後讓程序從停止的地方繼續運行?具體來說,我一直使用Visual Studio作爲IDE編碼Python。

回答

4

由於您正在討論Visual Studio上下文中的Python,因此我假定您正在使用Visual Studio的Python工具(PTVS)。

您所指的功能在VS中通常被稱爲「編輯並繼續」(ENC),因爲這就是最初調用C#和VB的功能。不幸的是,PTVS不支持它,但有一個feature request跟蹤 - 投票!

使用Python調試交互式窗口,又名調試REPL(可在調試 - > Windows中使用),可以使用一些有限的ENC形式。這允許您在斷點上斷開,並以類似REPL的方式操作流程狀態 - 例如,包括定義新的函數或重新定義現有的函數。這不是很細緻,因爲即使您只想更改一個標識符,您也必須重寫整個函數體(儘管您可以將編輯器中的定義複製/粘貼到REPL中,然後在其中進行編輯) 。它也不涵蓋所有相同的情況 - 例如如果您重新定義的函數當前正在運行,它仍將使用原始定義;另外,如果有人藏起了對原始函數的引用,那就不會受到影響。不過,在某些情況下,您可能會發現它很有用。

+0

感謝您的回答Pavel,ENC正是我想要做的。我會嘗試一下你的建議,希望能爲我節省一些時間。附:投票。 – rwolst

+0

故障單已移至[此處](https://github.com/Microsoft/PTVS/issues/77) –