2010-04-29 35 views
8

在调试我的django应用程序时,我使用pdb与pdb.set_trace()进行交互式调试。有没有办法让pdb和Mac Terminal玩得很好?

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

这是否有自动发生?它可能是真正烦人的,必须取消runserver并重置并始终重新启动它。我被告知它不会在其他操作系统(ubuntu)上发生,因此无论如何都不会在Mac上发生? (我正在使用雪豹)。

回答

8

确定 - 这对我的作品,我创建了〜/ .pdbrc并添加

进口OS
使用os.system( “stty的理智”)

现在每次PDB运行它会将线路设置恢复到理智状态。

如果我掉到终端上,我仍然需要手动执行 - 但它解决了必须退出runserver并且一直重置。

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 
1

我发现最好的是做内部PDB复位,像这样:

进口操作系统;使用os.system( “复位”);

相关问题