有没有办法让pdb和Mac终端友好地协作?

9
当我调试我的django应用程序时,我使用pdb进行交互式调试,使用


然而,当我修改文件时,本地django Web服务器会重新启动,然后我无法在终端中看到我键入的内容,直到我键入。
有没有办法让这个自动发生呢?这可能真的很烦人,不得不一直取消运行服务器并重置和重新启动它。据说在其他操作系统(Ubuntu)上不会发生这种情况,所以有没有办法使其在Mac上不发生?(我正在使用Snow Leopard)。
3个回答

8

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

import os
os.system("stty sane")

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

如果我退到终端,那么我仍然需要手动执行此操作-但它解决了退出运行服务器并一直重置的问题。


1

在保存文件更改之前尝试退出pdb。这将使控制台保持稳定,但仅适用于pdb.set_trace()的一次运行。

当您忘记退出pdb时,仍然需要回退到旧的^C + reset + ./manage.py runserver。可以使重置变得更少烦人的一件事是将重置和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中执行重置,像这样:

import os; os.system("reset");


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接