Sometimes you just want to get everything debugged and get on with your life.

But as you start to dig in you find that there’s a million methods and you aren’t sure which one you should start with.

Well, you are in luck! I recently discovered this cool project that will slam in import pdb; pdb.set_trace() at the start of every function in a given module. It is called pdbe a.k.a. “PDB Everywhere”/

This is very useful if you have a problem in a specific area of your app, for example in a util.py module.

Admit it, we all have one (or more) of those lurking in our projects…

This tool will throw the set_trace() in there and let you quickly setup a tripwire to get a debugging session started.

Getting started is very easy, its just a pip install pdbe away!

IMPORTANT NOTE: This library seems to by Python3 specific. But, you are doing your new development in Python3, so that shouldn’t be a big deal, right?

hint hint, you should be using Python 3!


But… that’s a lot of code to cleanup!

The tool also comes with a handy --clean flag which allows you to undo those statements so that you don’t accidentally commit a ton of breakpoints into your code.

Note: Be careful, there is nothing stopping you from deploying this code, which probably would be 100 times worse than committing it into git.


Speaking of git and versioning…

The tool also provides a way to track the changes it is making a git-like manner. Check out the Advanced Usage here for more details.

Go forth and debug!

So the next time you aren’t sure where to start your debugging, give this library a try!