【发布时间】:2021-04-02 09:49:55
【问题描述】:
我的项目已正确配置为在正确的位置以正确的设置运行 manage.py。
我还在一个我确定正在执行的方法中设置了调试断点(我已经在其中放置了一个打印语句并按预期执行)。断点未禁用或有条件:
当我点击“在调试模式下运行”按钮时,使用上面的运行配置(我确定它是同一个,因为它是我为这个项目配置的唯一一个),这是我得到的控制台输出:
pydev debugger: process 38083 is connecting
Connected to pydev debugger (build 192.5728.105)
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
December 23, 2020 - 19:22:22
Django version 3.1.4, using settings 'FEArena.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
当我尝试在manage.py 中设置断点时,它按预期工作,仅在我点击“调试”按钮时触发。但是,在应用程序启动后,当我使用 REST 客户端触发上述方法时,其中包含断点的方法,断点不会触发,调试器也不会启动。我在 REST 客户端中收到 200 OK 响应,但 PyCharm 不会在任何时候停止并执行调试器。
我查看了其他建议设置“Gevent 兼容调试”的答案(我没有,因为我使用的是社区版),并且我尝试删除项目的 .idea/ 文件夹,这也没有解决问题。我不确定还有什么可能导致这种情况。我只是想调试我的程序。
我的 PyCharm 版本信息是
PyCharm 2019.2 (Community Edition)
Build #PC-192.5728.105, built on July 23, 2019
Runtime version: 11.0.3+12-b304.10 x86_64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.15.7
GC: ParNew, ConcurrentMarkSweep
Memory: 4029M
Cores: 8
Registry:
Non-Bundled Plugins: com.karateca.jstoolbox, mobi.hsz.idea.latex, net.seesharpsoft.intellij.plugins.csv, nl.rubensten.texifyidea, org.intellij.plugins.markdown
什么可能导致断点无法触发,我该如何解决?我需要断点来调试程序的其他部分。
【问题讨论】:
-
尝试在manage.py中设置断点并重启,看看是否命中断点。
-
这种方式对调试没有帮助,但我建议你创建并运行测试
-
@AlbinPaul 在
manage.py中设置断点按预期工作 - 只要我点击调试按钮就会触发。 -
我会仔细检查您是否在使用断点所在的函数。一种快速的方法是添加一个
print()调用。 -
@schillingt 如上所述,由于 REST 调用,我 100% 确定带有断点的函数正在获得提示。但我确实向该函数添加了一个打印调用,并且它确实按预期执行并打印到控制台,即使它上面的断点没有。
标签: python django debugging pycharm