mono0926
8/24/2013 - 4:12 AM

Debugging with ipython and ipdb

Debugging with ipython and ipdb

This is copy of Debugging with ipython and ipdb.

Debugging with ipython and ipdb

Make sure you have setuptools installed

Install ipython and ipdb

Place a breakpoint in your code

print 'Hello World!'
my_var = 10 / 3
import ipdb; ipdb.set_trace() # BREAKPOINT
print my_var

Run your code

python my_project.py

Use ipdb

  • ? for "help"
  • ? s for "help for command s"
  • l for "some more context"
  • s for "step into"
  • n for "step over"
  • c for "continue to next breakpoint"

Sample program with a bug

  • http://bit.ly/buggy-class
  • Download "buggy.py"
  • Run the program:
    • python buggy.py Django
  • It should return the version of Django
  • But it does not
  • Place a breakpoint at line 45
  • Step through it and fix it :)

Hint: Use pprint

  • import pprint
  • pprint.pprint(some_variable)