Stepping into a function in IPython

前端 未结 2 821
我在风中等你
我在风中等你 2021-01-31 08:26

Is there a way to step into the first line of a function in ipython. I imagine something that would look like:

%step foo(1, 2)

which runs

相关标签:
2条回答
  • 2021-01-31 09:12

    The IPython magic you was asking for is now implemented with the newer versions: https://stackoverflow.com/a/46333421/4374441

    You just have to type %debug foo(1, 2) then s to step into the function.

    0 讨论(0)
  • 2021-01-31 09:22

    ipdb has had support for runcall, runeval and run since 0.7, earlier this year. You can use it just like pdb.runcall:

    In [1]: def foo(a, b):
       ...:     print a + b
       ...:
    
    In [2]: import ipdb
    
    In [3]: ipdb.runcall(foo, 1, 2)
    > <ipython-input-1-2e565fd9c4a4>(2)foo()
          1 def foo(a, b):
    ----> 2     print a + b
          3
    
    ipdb>
    
    0 讨论(0)
提交回复
热议问题