Python调试:动态编码

时间:2009-10-23 14:41:46

标签: python debugging pydev

我是python的新手,并且无法确定这是否可行。

我在Eclipse下使用PyDev插件,基本上我想知道的是,是否有可能在你坐在断点处编辑代码?即在调试时编辑代码。

它允许我目前这样做,但它似乎仍在执行我做出更改之前存在的代码行。

另外,您是否可以像在VBA和C#中那样拖回程序执行?

如果其中任何一种都可以,我该如何启用它们?

3 个答案:

答案 0 :(得分:4)

PyDev从版本1.4.8开始支持这一点,请参阅change notes和相应的blog entry

答案 1 :(得分:2)

当你启动一个Python程序时,它将被编译成字节码(并可能保存为.pyc文件)。这意味着您可以更改源,但由于您没有再次“打开”源,因此无法获取更改。

有些类似TurboGears(一个Web框架)的系统会检测这些更改并重新启动,但这可能会使调试器混淆。

目前还不能回溯,因为字节码解释器需要支持。

答案 2 :(得分:2)

您可以在断点期间在控制台中运行任意命令。根据我的需要,这通常可以实现与实时编码相同的目的,尽管我使用它只是使用编辑器一样优雅。