ipdb和pdb++之间的区别



Python有其默认的调试器pdb,但社区创建了一些替代方案。其中两个是ipdb和pdb++。它们似乎迎合了相同的受众,它们都可以直接在CLI上运行,并提供一些细节,如彩色输出和制表符完成。

它们是用于不同的目的,还是只是具有相似功能的调试器的竞争?我很难理解什么时候人们会希望使用一个而不是另一个。甚至有人同时使用

我不是pdbpp的专家,但对我来说,ipdb有更多的功能(IPython有许多"神奇"的功能,如%timeit、%debug等,这些功能很方便(,而pdbpp有一个sticky模式,当你逐步完成时,它会在终端中显示源代码(如GDB的TUI模式(,并且比默认的pdb功能更强。

因此,它们都是很好的调试选项,但我个人更喜欢ipdb,因为我习惯于在IPython上以交互方式工作。我发现我可以将我的主调试器设置为ipdb,如下所示:

export PYTHONBREAKPOINT=ipdb.set_trace   # or ipdb.sset_trace

并将breakpoint()放入Python源代码中进行调试。如果还安装了pdbpp,我可以从ipdb会话调用sticky,这很好。

相关内容

  • 没有找到相关文章

最新更新