- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
有时,当我调用 ipdb 时,我知道我想要成为跟踪设置上方的框架。我认为这就是 API 公开 frame
参数的原因(如 the documentation 中所述)。
所以这是函数:
import inspect, ipdb
def invoke_a_frame_up():
ipdb.set_trace(frame=inspect.stack()[i][0])
我试图找出函数中的i,以便当invoke_a_frame_up
被调用时,跟踪不在内部 invoke_a_frame_up
。
或者,更恰本地说,我正在尝试找出一般如何实现这一目标。我已经尝试了每个 i 的堆栈深度,并且跟踪似乎从同一帧开始,直到 i 大于深度,此时我得到 IndexError('list index out of range', )
。
最佳答案
import inspect
import ipdb
def dbg_up():
ipdb.set_trace(inspect.currentframe().f_back.f_back)
def foo():
var = 'in foo'
bar()
def bar():
var = 'in bar'
dbg_up()
foo()
vanilla pdb
的用户:您的界面略有不同,如下所示:
pdb.Pdb().set_trace(inspect.currentframe().f_back.f_back)
关于python ipdb.set_trace() 一帧 "up"(frame=?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48451943/
刚装了django-3.0,习惯了插入ipdb来停止runtime和inspect函数。 使用以前的版本,它工作正常。 有什么办法让它工作吗? > /home/tec1/workspace/stati
如果我正常运行 ipython,iPython 确实会记住命令历史记录,例如在 repl 中测试基本的东西,但我希望能够从以前的调试 session 中提取调试命令,我正在通过简单地正常运行我的程序来
中断python代码的执行 import ipdb; ipdb.set_trace() 有时(但不总是)让我进入 ipdb 而不 显示周围的代码行,即使我发出 l 命令也是如此。即,我得到类似的东西
使用import ipdb; ipdb.set_trace() 插入断点。第一次打断点时颜色很好,但第二次打断点时(按c)显示颜色代码而不是真实颜色,依此类推。 ←[1;32m 72
我要分析一个国外API的方法,我一般是怎么做的,写一个测试脚本,或者找个示例代码,做一个 ipdb.set_trace() 我想尝试的地方,而不是查看当前可用的变量、对象及其方法。但是,当我想按照 I
我喜欢使用以下方法检查 Python 脚本中的错误: $ python3 -m pdb my_script.py 这让我进入一个 pdb 提示符,我可以从那里 c 继续执行,当它遇到错误时,我可以检查
为什么 ipdb session 不显示具有自动完成功能的大脑的每个属性?例如 brain.UID 存在,但未在 ipdb 自动完成中列出。大脑代码有什么黑魔法吗? 最佳答案 使用 ipdb,您可以自
也许这个问题看起来很简单,但我试图查看 ipdb 中的一些成员变量,但我不知道如何实现。 示例: class MyClass( object ): def __init__( self, p
如何使ipdb提示颜色化? 在打印之间导航很困难: 最佳答案 似乎没有官方方法来支持这一点,但可以通过编辑安装中的源文件轻松完成。转到您的站点包目录并 grep -r "ipdb>" * 你会看到类似
当我在本地运行 Django 站点时,ipdb 触发了导入错误。我正在虚拟环境中使用 Python 2.7。 which ipdb 显示路径 (/usr/local/bin/ipdb),which i
如何禁用 ipdb 中源上下文的默认打印?我从 Emacs realgud 中调用 ipdb,所以我不需要在 ipdb 提示符下查看源代码。 代码 import ipdb ipdb.set_trace
当我尝试使用 ipdb 调试此示例脚本时: n = 1 next = 1 print('end') 我无法执行第 3 行,因为 python 变量模糊了 pdb 命令: $ ipdb test.py
我正在使用 ipdb 调试 python 脚本。 我想打印一个很长的变量。 shell 中是否使用了类似 more 或 less 的 ipdb 寻呼机? 谢谢 最佳答案 您可能想要创建一个函数来接受文
我使用import ipdb;ipdb.set_trace() 有时,在使用 set_trace 进行调试时,我想验证框架/源代码之外的某些方法(使用我的参数调用它,并查看它在内部的工作原理)。代码中
项目结构如下。 (Visual Studio 2015 社区) 一个静态库项目一个控制台应用程序项目 静态库是使用默认设置创建的,并链接到控制台应用程序项目。程序运行良好。但在与静态库链接的控制台应用
我正在使用 ipdb 调试器在本地调试多线程 Web 应用程序(Django、Plone)。通常 ipdb 似乎因为在调试提示符下发生的自动重新加载而感到困惑。生成的堆栈跟踪出现 /Users/mik
默认情况下,在 IPython 中调试期间,ipdb显示代码中当前位置的上一行和下一行。 有没有一种简单的方法可以使显示的区域更大一些?我认为它是可配置的,但一直找不到。 最佳答案 您可以在 ipdb
有没有办法告诉 pdb 或 ipdb 跳过所有 future 的断点并像它们不存在一样完成执行? 最佳答案 如果你想保留断点而不是清除它们,但又不想到达它们,你可以使用 pdb的 disable命令。
通过 help 命令或使用 ? 字符可以在标准 IPython shell 中获得帮助。例如,要获得有关内置 sum 函数的帮助,可以使用 IPython shell 中的以下任一命令。 In [1]
ipdb 在 shell 中工作正常,但我想在 vim 下调试,在我设置 ipdb.set_trace() 之后,然后 !python %,下面的控制台给了我 this messy prompt ,有
我是一名优秀的程序员,十分优秀!