代码之家  ›  专栏  ›  技术社区  ›  gerrit

在多行语句的何处设置断点?

  •  0
  • gerrit  · 技术社区  · 5 年前

    考虑到以下源代码:

    1    f(
    2      foo(),
    3      bar(),
    4      spam(a,
    5           b,
    6      ),
    7     )
    

    f ,但打过电话之后 foo() bar() ,和 spam(a, b) ? 如果我把它设置在第1行,断点会出现得太早。但我试着把它设置在第7行,pdb从一开始就没有破译代码。在哪里设置断点?为什么?

    1 回复  |  直到 5 年前
        1
  •  0
  •   Umair Rashid    5 年前

    可以将断点放在的函数定义中 f 然后它会在你想要的位置断裂。原因是 f级 foo() bar() spam(a,b)

    编写包装函数

    def wrapper(fun,a,b):
        temp = fun(a,b)
        return temp
    
    f(
          foo(),
          bar(),
          wrapper(spam,a,b),
         )