Python调试:动态编辑代码
我是python新手,还没有发现这是否可行 我正在Eclipse下使用PyDev插件,基本上我想知道的是,当您坐在断点处时是否可以编辑代码?即,在调试时编辑代码 目前它允许我这样做,但它似乎仍在执行我进行更改之前存在的代码行 此外,您是否能够像在VBA和C中一样将程序执行拖回原位Python调试:动态编辑代码,python,debugging,pydev,Python,Debugging,Pydev,我是python新手,还没有发现这是否可行 我正在Eclipse下使用PyDev插件,基本上我想知道的是,当您坐在断点处时是否可以编辑代码?即,在调试时编辑代码 目前它允许我这样做,但它似乎仍在执行我进行更改之前存在的代码行 此外,您是否能够像在VBA和C中一样将程序执行拖回原位 如果其中任何一个都是可能的,我如何启用它们呢?启动Python程序时,它将被编译成字节码(并可能保存为.pyc文件)。这意味着您可以更改源代码,但由于您不再“打开”源代码,因此更改不会被拾取 有些系统,比如TurboG
如果其中任何一个都是可能的,我如何启用它们呢?启动Python程序时,它将被编译成字节码(并可能保存为
.pyc
文件)。这意味着您可以更改源代码,但由于您不再“打开”源代码,因此更改不会被拾取
有些系统,比如TurboGears(一个web框架),可以检测到这些更改并自行重新启动,但这可能会混淆调试器
由于字节码解释器需要支持,因此当前也不可能返回时间。PyDev从1.4.8版开始在一定程度上支持这一点,请参阅和相应的。您可以在断点期间在控制台中运行任意命令。出于我的需要,这通常可以达到与编写live代码相同的目的,尽管我希望它能像使用编辑器一样优雅。我看不到您所说的参考资料。你能更具体地指出它们吗?听起来很刺激;直到您的回答引起我的注意,我才知道PyDev的新版本,所以谢谢。:-)诚然,您不能回到过去,而且调试器是单线程的,无法承受重新启动,但正如@nikow指出的,您的标题“Python现在不可能这样做”是不准确的。