title: Interactive debugging in IPython (Jupyter) notebook
body: <p>For debugging my python code, I use the <code>ipdb</code> library, and use the <code>set_trace()</code> command to place a break point. Once the code reaches there, I get an interactive shell with <code>ipdb&gt;</code> prompt, that I can explore local variables with tab autocompletion.</p>
  
  <p>In IPython (Jupyter) notebook, however, <code>ipdb.set_trace()</code> does not work. As suggested by this post:
  <a href="https://stackoverflow.com/questions/35613249/using-ipdb-to-debug-python-code-in-one-cell-jupyter-or-ipython">using ipdb to debug python code in one cell (jupyter or Ipython)</a></p>
  
  <p>I use the following alternative for interactive debugging:</p>
  
  <pre><code>from IPython.core.debugger import Tracer
  Tracer()() #this one triggers the debugger
  </code></pre>
  
  <p>This gives me the <code>ipdb&gt;</code> prompt, but the tab autocomplete is not available. Is there anyway to enable auto-complete for interactive debugging using ipython notebook? This is extremely useful, specially when you have a lot of variables with long names.</p>