我发现了很多关于如何使用Emacs调试简单Python程序的信息.但是,如果我想调试Django应用程序怎么办?我运行开发服务器,我想以某种方式从Emacs附加到进程,然后设置断点等.类似于Visual Studio的"附加到进程".怎么做?
这不是特定于emacs的,但您可以通过将以下内容添加到Django视图函数来使用Python调试器:
import pdb; pdb.set_trace()
现在,当您运行开发服务器并查看页面时,您的浏览器似乎会挂起或加载速度非常慢 - 切换到您的控制台,您就可以访问完整的调试器.您可以通过交互式shell检查和修改应用程序的状态 - 查看调试器的Python文档,或者查看某些Python调试示例的此链接
如果您只需要记录,请将以下内容添加到您的settings.py
:
logging.basicConfig( level = logging.DEBUG, format = '%(asctime)s %(levelname)s %(message)s', filename = '/tmp/mylog.log', filemode = 'w' )
现在,您可以/tmp/mylog.log
通过将以下内容添加到任何视图功能来记录消息:
import logging logging.debug("Something happened")
像这样启动pdb:
M-x pdb
然后,启动Django开发服务器:
python manage.py runserver --noreload
有了(Pdb)提示后,您需要这样做:
import sys sys.path.append('/path/to/directory/containing/views.py')
完成此操作后,您应该能够正常设置断点.只需导航到您想要的行号,然后
C-x SPC