Implement --pdb in a python cli
Waylon Walker
Posted on January 13, 2022
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?
Posted on January 13, 2022
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.