Adding a --pdb
flag to your applications can make them much easier for those using it to debug your application, especially if your applicatoin is a cli application where the user has much fewer options to start this for themselves. To add a pdb flag --pdb
to your applications you will need to wrap your function call in a try/except, and start a post_mortem debugger. I give credit to this stack overflow post for helping me figure this out.
import pdb, traceback, sys
def bombs():
a = []
print(a[0])
if __name__ == "__main__":
if "--pdb" in sys.argv:
try:
bombs()
except:
extype, value, tb = sys.exc_info()
traceback.print_exc()
pdb.post_mortem(tb)
else:
bombs()
Using --pdb
python yourfile.py --pdb
This is day 22 of posting tils, These are bite sized pieces that help me cement in what I have learned thoughout the day. eventually they will make their way into larger form pieces.
Discuss
What do you think about --pdb
do you like when cli's give you this option? Has it saved your bacon?