PyCharm 2022.1.2 未使用 Django 命中调试断点

问题描述 投票:0回答:2

我无法让 Python 调试器在 PyCharm 2022.1.2 和 Django 4 上运行。 当我在视图函数内设置断点,然后在浏览器中调用该视图时,在调试模式下启动时没有任何反应...

breakpoint_selected

但是,当我将其设置为导入时,断点被命中。

breakpoint_hit

我有 2 种配置,一种用于 Python,一种用于 Django Server,两者都不起作用。

config1 config2

查看了许多 JetBrains 票证,有人报告了类似问题,但没有找到解决方案。还尝试为 Python 而不是 Django Server 创建第二次运行配置,但这也没有帮助。

python django debugging pycharm breakpoints
2个回答
1
投票

通过从顶级 django 项目目录中删除 .idea 目录解决了这个问题。不确定其背后的机制是什么,但它有效,现在断点工作完美。


0
投票

我知道这个问题已经很老了,但我刚刚遇到了类似的情况,所以我会告诉你。

问题是,PyCharm 调试器使用

sys.settrace
函数来设置自己的跟踪功能,因此如果您有一个已经捕获此 API 的进程,则调试器在程序执行期间不会在断点处停止。

众所周知的案例是 pytest-coverage 模块,但我遇到了另一个案例。

我启用了

django-debug-toolbar-line-profiling
模块,它同样捕获了
sys.settrace
并取代了调试器。

因此,如果您的调试器在某个地方停止工作,请考虑哪些模块可能正在设置自己的跟踪功能。

© www.soinside.com 2019 - 2024. All rights reserved.