How to ensure there are no pdb calls out of debugging configuration?
The best option would be to have an extensive test suite, and to run the tests before pushing to production.  Extraneous pdb breakpoints will prevent the tests from passing.
If you can't do that, then option 2 is the best: write a utility to break into the debugger, and make it sensitive to the state of the settings.  You still have to solve the problem of how to be sure people use the wrapper rather than a raw pdb call though.
What do you suggest to get rid of pdb calls on production software?
In my case, I'm developing a django website. 
I don't know if I should:

Monkey patch pdb from settings.py (dependding on DEBUG boolean). 
Make a pdb wrapper for our project which expose set_trace or print basic log if DEBUG = True
Dissalow comitting brakpoints on git hooks... (if you think it's the best idea how would you do that?).