我不是pdbpp专家,但对我来说ipdb它具有更多功能(IPython 有许多“神奇”功能,例如 %timeit、%debug 等,非常方便),同时pdbpp还有一种sticky模式,可以在您执行操作时在终端中显示源代码通过(如 GDB 的 TUI 模式)并且比默认的pdb.
因此,它们都是调试的不错选择,但我个人更喜欢它们,ipdb因为我习惯于通过 IPython 进行交互工作。我发现我可以将我的主调试器设置为ipdb这样:
export PYTHONBREAKPOINT=ipdb.set_trace # or ipdb.sset_trace
Run Code Online (Sandbox Code Playgroud)
并放入breakpoint()Python源码进行调试。如果pdbpp也安装了,我可以sticky从ipdb会话中调用,这很简洁。