Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python调试:动态编辑代码_Python_Debugging_Pydev - Fatal编程技术网

Python调试:动态编辑代码

Python调试:动态编辑代码,python,debugging,pydev,Python,Debugging,Pydev,我是python新手,还没有发现这是否可行 我正在Eclipse下使用PyDev插件,基本上我想知道的是,当您坐在断点处时是否可以编辑代码?即,在调试时编辑代码 目前它允许我这样做,但它似乎仍在执行我进行更改之前存在的代码行 此外,您是否能够像在VBA和C中一样将程序执行拖回原位 如果其中任何一个都是可能的,我如何启用它们呢?启动Python程序时,它将被编译成字节码(并可能保存为.pyc文件)。这意味着您可以更改源代码,但由于您不再“打开”源代码,因此更改不会被拾取 有些系统,比如TurboG

我是python新手,还没有发现这是否可行

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

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

此外,您是否能够像在VBA和C中一样将程序执行拖回原位


如果其中任何一个都是可能的,我如何启用它们呢?

启动Python程序时,它将被编译成字节码(并可能保存为
.pyc
文件)。这意味着您可以更改源代码,但由于您不再“打开”源代码,因此更改不会被拾取

有些系统,比如TurboGears(一个web框架),可以检测到这些更改并自行重新启动,但这可能会混淆调试器


由于字节码解释器需要支持,因此当前也不可能返回时间。

PyDev从1.4.8版开始在一定程度上支持这一点,请参阅和相应的。

您可以在断点期间在控制台中运行任意命令。出于我的需要,这通常可以达到与编写live代码相同的目的,尽管我希望它能像使用编辑器一样优雅。

我看不到您所说的参考资料。你能更具体地指出它们吗?听起来很刺激;直到您的回答引起我的注意,我才知道PyDev的新版本,所以谢谢。:-)诚然,您不能回到过去,而且调试器是单线程的,无法承受重新启动,但正如@nikow指出的,您的标题“Python现在不可能这样做”是不准确的。