调试我的django应用程序时,我使用pdb进行pdb.set_trace()
的交互式调试。
但是,当我修改文件时,本地django webserver重新启动,然后我无法看到我在终端中输入的内容,直到我输入reset
。
无论如何这是自动发生的吗?它可能真的很烦人,必须取消runserver并重置并重新启动它。我被告知它不会发生在其他操作系统(ubuntu)上,所以无论如何都要让它不会发生在Mac上吗? (我正在使用Snow Leopard)。
答案 0 :(得分:8)
好的 - 这对我有用,我创建了一个〜/ .pdbrc并添加了
导入操作系统 os.system(“stty sane”)
现在每次运行pdb时,它都会将线路设置恢复为理智。
如果我掉到终端然后我仍然需要手动执行 - 但它解决了必须退出runserver并一直重置。
答案 1 :(得分:1)
在保存对文件的更改之前,请尝试[q
] uit pdb。这将使控制台不会在您身上摆动,但仅限于一次运行pdb.set_trace()。
当您忘记退出pdb时,您仍然必须回退到旧的^ C + reset
+ ./manage.py runserver
。有一点可以让重置变得不那么烦人,就是将reset和runserver放到一行上。这样,重置只是一个快速^Rreset
或向上箭头。
[ ... ]
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
^C$ reset && ./manage.py runserver
答案 2 :(得分:1)
我发现最好的是在pdb中进行重置,如下所示:
导入os;使用os.system( “复位”);