我是python的新手,無法確定這是否可行。Python調試:實時編輯代碼
我在Eclipse下使用PyDev插件,基本上我想知道的是,是否可以在坐在斷點處編輯代碼?即在您調試時編輯代碼。
它允許我目前這樣做,但它似乎仍然執行之前存在的代碼行,我做了修改。
另外,你是否能夠像在VBA和C#中一樣將程序執行拖回來?
如果其中任何一種可能,我該如何啓用它們?
我是python的新手,無法確定這是否可行。Python調試:實時編輯代碼
我在Eclipse下使用PyDev插件,基本上我想知道的是,是否可以在坐在斷點處編輯代碼?即在您調試時編輯代碼。
它允許我目前這樣做,但它似乎仍然執行之前存在的代碼行,我做了修改。
另外,你是否能夠像在VBA和C#中一樣將程序執行拖回來?
如果其中任何一種可能,我該如何啓用它們?
當你啓動一個Python程序時,它將被編譯成字節碼(可能保存爲.pyc
文件)。這意味着您可以更改源代碼,但由於您不再「打開」源代碼,所以不會收到更改。
有像TurboGears(一個Web框架)這樣的系統可以檢測這些變化並重新啓動自己,但這可能會讓調試器感到困惑。
時光倒流也是不可能的,因爲字節碼解釋器需要支持。
PyDev從版本1.4.8開始支持此功能,請參閱change notes和相應的blog entry。
您可以在斷點處在控制檯中運行任意命令。對於我的需要,這通常達到與編碼直播相同的目的,儘管我對它的使用與使用編輯器一樣優雅。
的確,您無法及時回溯,而且調試器是單線程的,無法承受重啓,但您的標題「這不適用於Python」是不準確的,因爲@nikow指出。 – jMyles 2011-06-14 05:42:05