9

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

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

无论如何这会自动发生吗?这真的很烦人,不得不取消运行服务器并一直重置并重新启动它。我被告知它不会发生在其他操作系统(ubuntu)上,所以无论如何让它不会发生在 Mac 上?(我正在使用雪豹)。

4

3 回答 3

8

好的 - 这对我有用 我创建了一个 ~/.pdbrc 并添加了

导入 os
os.system("stty sane")

现在每次运行 pdb 时,它都会将线路设置恢复为正常状态。

如果我掉到终端上,那么我仍然必须手动进行 - 但它解决了必须退出 runserver 并一直重置的问题。

于 2010-04-30T14:00:56.743 回答
1

q在将更改保存到文件之前尝试 [ ]uit pdb。这将防止控制台出现在你身上,但仅限于 pdb.set_trace() 的那一次运行。

当您忘记退出 pdb 时,您仍将不得不回退到旧的 ^C++ reset./manage.py runserver可以使重置不那么烦人的一件事是将重置和运行服务器放在一条线上。这样,重置只是一个快速^Rreset或向上的箭头。

[ ... ]
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
^C$ reset && ./manage.py runserver
于 2010-04-29T18:26:46.363 回答
1

我发现的最好的方法是在 pdb 中进行重置,如下所示:

导入操作系统;os.system("重置");

于 2010-04-30T07:44:59.617 回答