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

转到pdb(python调试器)中的顶部框架,python,debugging,Python,Debugging,当pdb/ipdb在事后模式中使用时,它会将您放入一个交互式shell中,您可以在其中探索嵌套最深的代码的堆栈框架中的环境。我通常对库中几个层次的情况不感兴趣——我对我的函数感兴趣,因为这才是问题的真正原因。所以,大多数时候我必须按“u”几次才能回到我编写的代码的级别 有没有办法让我跳到“顶端”来加速?或者更好的是,直接进入特定堆栈帧的快捷方式 (顺便说一句,我觉得堆栈有点“颠倒”。调用另一个函数的函数会将新调用放在堆栈顶部,对吗?因此我觉得pdb u(p)命令实际上是在将您向下移动到堆栈中…您

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

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


(顺便说一句,我觉得堆栈有点“颠倒”。调用另一个函数的函数会将新调用放在堆栈顶部,对吗?因此我觉得pdb u(p)命令实际上是在将您向下移动到堆栈中…

您可以使用PdbExtension来实现这一点

查看将要添加到pytest pdb的位置。

您可以使用任意高的n值执行“up n”,如99:

克里斯在评论中提到了这一点。
我确实将其作为一个答案重新发布,以使其更加可见,并带有指向文档的链接。

这是一个堆栈跟踪,而不是堆栈。这就是它是如何通过堆栈的。这就是为什么它在最深处结束。啊,说得好。这就解决了我那个狡猾的附加问题。不是真正的答案,而是我用来复制和粘贴
u;;Uu、 )很多次。它比反复输入
u
要快。除非你的程序有超过99帧,否则u99会将你移到顶部。当我在这里测试时,过冲不会导致问题。