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

时间:2016-07-27 17:17:27

标签: python debugging

当在事后模式中使用pdb / ipdb时,它会将您引入交互式shell,您可以在其中探索最深层嵌套代码的堆栈帧的环境。我通常对几个级别的情况不感兴趣 - 我对我的功能感兴趣,因为那是真正导致问题的原因。所以,大部分时间我都要按" u"多次回到我写的代码级别。

有没有办法可以跳到" top"加快这个速度?或者甚至更好,直接进入特定堆栈框架的快捷方式?

(顺便说一下,堆栈感觉有点'#34;颠倒了'#34;在这里。调用另一个函数的函数将新调用放在堆栈的顶部,对吧?所以我觉得pdb u(p)命令实际上是让你进入堆栈...)

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:1)

您可以使用PdbExtension。

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