Django Eclipse调试。在断点处无法停止。

3
我正在尝试通过Eclipse调试我的Django项目。在通过命令提示符启动服务器后,将URL键入浏览器时,应用程序可以正常工作。现在我想要进行调试。
我已经完成了以下操作:我设置了一个调试/运行配置:在配置的主选项卡中,它指向项目和views.py。在参数选项卡中,我有程序参数:runserver --noreload。(我写调试/运行配置,因为它似乎是进入相同的配置,无论是“Debug as”还是“Run as”。)
我已经在我的代码中添加了断点。
我对是否应该首先通过命令提示符启动服务器感到困惑;因此,我尝试了两种方法。而且我对从Eclipse中是应该选择“Run as”还是“Debug as”感到困惑。因此,我尝试了所有组合:
组合1:通过命令提示符运行服务器。单击我的项目(或模块-尝试过两次),然后选择“Run as/Run Configuration”。选择我的新配置并运行。结果:控制台标题栏读取:--noreload。如果我现在在浏览器中键入URL,则可以正常工作,但不会停在断点处。
组合2:通过命令提示符运行服务器。单击我的项目(或模块-尝试过两次),然后选择“Debug as/Debug Configuration”。选择我的新配置并运行。结果:控制台标题栏读取:views.py。在控制台中,它读取“pydev debugger: starting”。如果我现在在浏览器中键入URL,则可以正常工作,但不会停在断点处。
组合3/4:服务器未从命令提示符运行。与1和2相同的结果,只是浏览器无法连接到localhost。
我阅读了一篇教程,其中提到将DJANGO_SETTINGS_MODULE设置为值settings,将PYTHONPATH设置为值$PWD。当我这样做时,会出现找不到我的设置文件的错误。因此,我将其省略,也因为我看到另一个教程没有设置它们。
2个回答

3
当你说通过命令提示符运行时,你是什么意思?
只要设置正确(http://pydev.org/manual_adv_django.html),以下内容应该可以使用:
右键单击项目 > Debug as > PyDev: Django(它将创建一个带有--no-reload的运行配置并在调试模式下运行)。
如果您配置了启动以重新启动上次启动(如http://pydev.org/manual_101_run.html中所述),则应该能够只需按F11再次调试它,按Ctrl+F11运行它而不使用调试模式。
注意:在http://pydev.org/manual_adv_remote_debugger.html(页面末尾)有关于如何调试而无需指定自动重载的说明 - 您可能还想查看https://dev59.com/t3E85IYBdhLWcg3wgDpI#7648375以了解在自动重载模式下实际上终止生成的Django进程的方法。

1
右键单击项目 > 调试为 > PyDev: Django,这对我很有效。我创建了自己的调试配置,但它没有起作用。 - olafure

0
原来是个愚蠢的错误:在调试配置中,我的主模块指向了views.py而不是manage.py。更改后问题得到解决。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接