【发布时间】:2020-02-03 02:43:02
【问题描述】:
我目前正在调试应用程序,并且在启用和不启用调试模式的情况下运行时观察到不同的行为。事实上,我正在对延迟评估的对象(Queryset)进行故障排除,并且在调试模式下运行时,由于PyCharm 在遇到断点时会自动检查变量,因此它们被评估得太早了。这通常很方便,但在这种情况下,它妨碍了我正确调试问题...
我试过this,但没有帮助
有没有办法禁用这种行为?
【问题讨论】:
我目前正在调试应用程序,并且在启用和不启用调试模式的情况下运行时观察到不同的行为。事实上,我正在对延迟评估的对象(Queryset)进行故障排除,并且在调试模式下运行时,由于PyCharm 在遇到断点时会自动检查变量,因此它们被评估得太早了。这通常很方便,但在这种情况下,它妨碍了我正确调试问题...
我试过this,但没有帮助
有没有办法禁用这种行为?
【问题讨论】:
PyCharm 调试器有一个variable loading policy 配置选项。将其设置为 On demand 以禁用自动加载变量。
如果这会对变量的值产生任何影响,我会感到非常惊讶。
【讨论】:
Queryset 对象的问题,这些对象通常会被延迟评估,但 pycharm 检查它的值,因此在调试运行时它在不同的时间被评估。谢谢!