Skip to content

Instantly share code, notes, and snippets.

@ivan1993spb
Forked from mono0926/ipdb.md
Created February 24, 2020 00:27
Show Gist options
  • Save ivan1993spb/78fa015d39afa9f5f08420c58041c870 to your computer and use it in GitHub Desktop.
Save ivan1993spb/78fa015d39afa9f5f08420c58041c870 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