ipdb:根据需要追踪其他代码蟒蛇

时间:2013-09-03 11:36:54

标签: python ipdb

我使用import ipdb;ipdb.set_trace()

有时,在使用set_trace进行调试时,我想要验证帧/源之外的某些方法(使用我的参数调用它,并查看它是如何工作的)。方法尚未在代码中使用,因此跳转是不可能的。

喜欢:

def do_a(): ...
def do_b(): ...
def do_c(): ...

def do_d():
  do_a()
  import ipdb;ipdb.set_trace()

#here:想在do_b之前检查do_c,但不仅仅是从do_c得到结果(很容易),而是遍历整个do_c并保持当前帧中的位置。

  do_b()

debug命令,但不能使用函数,我希望交互式shell。

解决方法非常耗时:停止调试器,修改代码(在示例中添加do_c())并重新启动调试器)

1 个答案:

答案 0 :(得分:1)

不确定这是否有效,因为这是非常罕见的用例。

使用断点设置命令设置断点,如tbreak

http://georgejhunt.com/olpc/pydebug/pydebug/ipdb.html

  tbreak do_b   # Might or might not work

然后执行do_b,它应该到达断点

  do_b()