My application has debug = True configuration option which turns on many facilities useful for debugging. I figured that it would be a nice idea to enable the debugger when debug mode is turned on, but not the way python -m pdb someapp works. Instead, I'd like it to behave as if the user entered "cont" right at the startup, so that the debugger appears only when an exception was caught. How do I do that on the source code level?

有帮助吗?

解决方案

import sys

def run_pdb_hook(*args, **kwargs):
    import pdb, traceback
    traceback.print_exception(*args, **kwargs)
    pdb.pm()

if debug:
    sys.excepthook = run_pdb_hook
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top