调试PyDev+Eclipse - 在断点/暂停模式下代码更改后不重载
我经常进行以下步骤,并想要提高调试的速度:
- 我会设置一些断点。
- 我在运行Google Appengine应用程序(Python 2.5.2+)。
- 当程序在断点停下时,我常常会修改代码来修复错误。
- 修改完代码后想要重新测试,但如果我在断点或暂停状态下修改了代码,程序不会更新我的代码修改,这就需要慢慢重新加载。
有没有人知道在暂停后强制重新加载的根本原因是什么,或者这是PyDev的一个错误/限制吗?
1 个回答
5
调试的方式并不是逐行执行你的源代码。调试其实是把你的源代码“编译”成字节码(.pyc文件),然后执行这些字节码,而不是直接执行你的源代码。
调试工具只是记录了哪些字节码(.pyc文件)对应你源代码(.py文件)中的哪一行,并把这些信息展示给你,方便你查看,但它运行程序时并不是用的源代码(.py文件)。
所以,如果你修改了源代码(.py文件),想让调试工具识别这些变化,你需要先“重新编译”一下.pyc文件。
希望这对你有帮助!