DEV Community

Cover image for Implement --pdb in a python cli
Waylon Walker
Waylon Walker

Posted on • Originally published at waylonwalker.com

Implement --pdb in a python cli

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() 
Enter fullscreen mode Exit fullscreen mode

Using --pdb

python yourfile.py --pdb 
Enter fullscreen mode Exit fullscreen mode

running this example with and without --pdb flag


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?

Top comments (0)