转到 pdb 中的顶部框架(python 调试器)

foo*_*cue 5 python debugging

在事后分析模式下使用 pdb / ipdb 时,它会将您带入一个交互式 shell,您可以在其中探索最深层嵌套代码的堆栈帧处的环境。我通常对某个库中几个级别的情况不感兴趣——我对我的函数感兴趣,因为这才是真正导致问题的原因。因此,大多数时候我必须多次按“u”才能回到我编写的代码级别。

有没有办法可以跳到“顶部”来加快速度?或者更好的是,直接进入特定堆栈帧的快捷方式?

(顺便说一句,这里的堆栈对我来说有点“颠倒”。调用另一个函数的函数将新调用放在堆栈的顶部,对吗?所以我觉得 pdb u(p) 命令实际上是将您移入堆栈...)

xrr*_*xrr 7

您可以使用任意高的 n 值来执行“up n”,例如 99: https ://docs.python.org/3/library/pdb.html#pdbcommand-up

附言。克里斯在 OP 的评论中提到了这一点。我确实将其重新发布为答案,以使其更加明显,并附有文档的链接。


blu*_*yed 2

您可以为此使用 PdbExtension。

请参阅https://github.com/fschulze/pytest-pdb/pull/5,其中它将被添加到 pytest-pdb 中。