[英]How to recompile python code on the fly during pydev debug in eclipse
我假设这个问题可以是pydev通用的,但是我只在eclipse中使用了pydev,所以我不确定...
过去,我不小心这样做了,我想定期学习如何做:
我不确定这是如何工作的,但是我想确切地了解如何触发它,因为在调试时它不再发生。
好吧,这有一些方面:
如果您使用的是框架(例如Django),则该框架具有内置的重新加载支持,因此,您将即时获得代码更改(通常通过生成新进程)。
现在,如果不是这种情况,则在最新的PyDev版本中,PyDev将跟踪对代码完成的版本,并会尝试“热交换”旧代码以获取新代码。
它基于xreload,将尝试在运行时修补类(即:直接更改类/方法代码)。
唯一要注意的是,只有当您离开给定的函数并稍后再返回时,该函数才会生效,因为Python无法在运行的框架上修补代码(有时它可能无法成功完成交换取决于代码的构造方式,但在通常情况下,效果很好)。
请注意,这仅在最新的PyDev版本中可用。 它在某些较早的版本上,但由于其实现中的问题而被删除了-但进行了改进,并重新添加回:)
有关更多详细信息,请参见: http : //pydev.org/manual_adv_debugger_auto_reload.html 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.