反正有没有让pdb和Mac终端很好地玩?

时间:2010-04-29 08:34:18

标签: python django macos terminal pdb

调试我的django应用程序时,我使用pdb进行pdb.set_trace()的交互式调试。

但是,当我修改文件时,本地django webserver重新启动,然后我无法看到我在终端中输入的内容,直到我输入reset

无论如何这是自动发生的吗?它可能真的很烦人,必须取消runserver并重置并重新启动它。我被告知它不会发生在其他操作系统(ubuntu)上,所以无论如何都要让它不会发生在Mac上吗? (我正在使用Snow Leopard)。

3 个答案:

答案 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( “复位”);