Skip to content

Instantly share code, notes, and snippets.

@erriapo
Forked from mono0926/ipdb.md
Created April 27, 2019 00:28
Show Gist options
  • Save erriapo/9f013906cdb65ab53e4f029709037a97 to your computer and use it in GitHub Desktop.
Save erriapo/9f013906cdb65ab53e4f029709037a97 to your computer and use it in GitHub Desktop.
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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment