[Fixed]-How to debug Django app running on Heroku using a remote pdb connection?

3đź‘Ť

In answer to your second question, I do it differently depending on the type of error (browser-side, backend, or view). For backend and view testing (unittests), will something like this work for you?

$ heroku run --app=your-app "python manage.py shell --settings=settings.production"

Then debug-away within ipython:

>>> %run -d script_to_run_unittests.py

Even if you aren’t running a django app you could just run the debugger as a command line option to ipython so that any python errors will drop you to the debugger:

$ heroku run --app=your-app "ipython --pdb"

Front-end testing is a whole different ballgame where you should look into tools like selenium. I think there’s also a “salad” test suite module that makes front end tests easier to write. Writing a test that breaks is the first step in debugging (or so I’m told ;).

If the bug looks simple, you can always do the old “print and run” with something like

import logging
logger = logging.getLogger(__file__)
logger.warn('here be bugs')`

and review your log files with getsentry.com or an equivalent monitoring tool or just:

heroku logs --tail
👤hobs

Leave a comment