Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8768351
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 13, 20262026-06-13T17:02:44+00:00 2026-06-13T17:02:44+00:00

Is there any way to make a python program start an interactive debugger, like

  • 0

Is there any way to make a python program start an interactive debugger, like what import pdb; pdb.set_trace() instead of actually throwing an exception?

I know the difficulty of making this work, but it would be much more valuable than a huge stack trace after which I have to use to figure out where to insert breakpoints and then restart the program to debug it. I know that simply making the debugger start instead of throwing an exception would not make sense because any exception can be caught at a level or another, so if I could just select a list of exceptions for which an interactive debug session would start instead of them being thrown (because I know the exceptions in this list would really be “errors” and no meaningful program behavior could follow afterwards)…

I’ve heard that Common Lisp has something like this, but I don’t know how it works exactly, just that “true lispers” praise it a lot…

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-13T17:02:46+00:00Added an answer on June 13, 2026 at 5:02 pm

    The simplest way is to wrap your entire code inside a try block like this:

    if __name__ == '__main__':
    
        try:
            raise Exception()
        except:
            import pdb
            pdb.set_trace()
    

    There is a more complicated solution which uses sys.excepthook to override the handling of uncaught exceptions, as described in this recipe:

    ## {{{ http://code.activestate.com/recipes/65287/ (r5)
    # code snippet, to be included in 'sitecustomize.py'
    import sys
    
    def info(type, value, tb):
       if hasattr(sys, 'ps1') or not sys.stderr.isatty():
          # we are in interactive mode or we don't have a tty-like
          # device, so we call the default hook
          sys.__excepthook__(type, value, tb)
       else:
          import traceback, pdb
          # we are NOT in interactive mode, print the exception...
          traceback.print_exception(type, value, tb)
          print
          # ...then start the debugger in post-mortem mode.
          pdb.pm()
    
    sys.excepthook = info
    ## end of http://code.activestate.com/recipes/65287/ }}}
    

    The above code should be included in a file called sitecustomize.py inside site-packages directory, which is automatically imported by python. The debugger is only started when python is run in non-interactive mode.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Is there any way to make the computer a Python program is running on
Is there any way to make the program sleep until an event occurs, but
Is there any way to make a list of classes behave like a set
Is there any way to make a program that cannot be interrupted (an uninterrupted
In Python is there any way to make a class, then make a second
Is there any way to make the text align left and justify as same
Is there any way to make a DataTemplate reference itself just from XAML? In
Is there any way to make the form semi-transparent while it is being moved
Is there any way to make two controls that are in different containers the
Is there any way to make this work in Java? public static void change(List<?

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.