我正在使用PDB,如果我能在颜色中添加systax突出显示会更好。
理想情况下,我希望代码的路径更轻一些。 实际代码行将突出显示语法。
我正在使用OS X和终端应用。 Python 2.7
答案 0 :(得分:22)
pdb
不支持着色。然而,即使你是一个命令行上瘾者(就像我一样;-),也不难获得它,你不必在调试Python时只需要切换到GUI / IDE来获得颜色。特别是,当您通过SSH访问远程计算机时,命令行工具通常可以更好地工作,从而节省了许多带宽和延迟问题,任何远程访问GUI和IDE都会对您造成影响; - 。)
具体来说,对于您要询问的任务,请考虑ipdb(您还需要ipython,它提供比普通交互式Python更高级的shell,ipdb
依赖于它)。两者都为您正常的交互式工作提供了良好的标签完成,增强的追溯,和着色 - ipython
,ipdb
在您调试时具有相同的功能(否则只是关于与pdb
)相同。
答案 1 :(得分:7)
答案 2 :(得分:3)
查看pdb++ - 它是pdb的替代品,可以满足您的所有要求,并添加了一些其他不错的功能,例如标签完成和新命令,如watch和sticky。
答案 3 :(得分:1)
如果有人在控制台中遇到了彩色问题。
我的控制台有白色背景,而ipdb也为语法添加了相当浅的颜色(例如变量为白色)。逼人ipython表明我们有3种颜色可供选择:'nocolor','linux','LightBG'。在我的案例中,Ipdb通过easy_install安装到我的virtualenv中。因此,查看ipdb源并修改它(在你的env中提示搜索ipdb / init .py)是微不足道的。然后我修改了以下内容:
def set_trace():
ip = ipapi.get()
+ def_colors = ip.options.colors
+ def_colors = 'LightBG'
Pdb(def_colors).set_trace(sys._getframe().f_back)
这有点像黑客的解决方案,但它在我的工作站的目的是为了充分。但如果有人找到更好的东西。请给我发消息该怎么做。
答案 4 :(得分:0)
这可能不适合您,但您是否尝试过使用图形化调试器(如eclipse / pydev中的那个)?它将为您提供语法突出显示等等。
如果我没有选项,我只会直接使用pdb,因为图形界面要好得多。