Stepping into a function in IPython
Question: 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 `ipdb` and sets a breakpoint at the first line of `foo`.

If I want to do this now I have to go to the function's source code and add an
`import ipdb; ipdb.set_trace()` line.


Answer: 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>
    

