[Python-Dev] Patch review: [ 1098732 ] Enhance tracebacks and
stack traces with vars
"Martin v. Löwis"
martin at v.loewis.de
Thu Feb 10 00:21:08 CET 2005
Phillip J. Eby wrote:
> Yes, but not as a default behavior. Many people already consider the
> fact that tracebacks display file paths to be a potential security
> problem. If anything, the default traceback display should have less
> information, not more. (E.g., display module __name__ instead of the
> code's __file__).
Notice that this patch does not change the exception printing behaviour
of Python at all. It just changes the implementation of
traceback.print_exception, so it only affects code that actually uses
this function. Furthermore, it only affects code that uses this function
and is *changed* to supply the argument True for print_args.
> Also note that the stdlib already has a cgitb module that does this sort
> of display for CGI scripts, so the technique isn't new, and cgitb
> provides a good example for people to create their own advanced
> traceback formatters with.
Sure. However, if this is frequently needed (outside the context of
CGI), it would sure be helpful if the traceback module supported it.
> If there were another command line option added to Python for this, I'd
> personally prefer it be an option to enter the debugger when a terminal
> traceback is printed. Currently, I use 'python -i' so that I get an
> interpreter prompt, then use 'import pdb; pdb.pm()' to enter the
> debugger at the point where the error occurred.
With the patch, you would have to add an explicit try/except into
your code, to supply True for print_args (or set a sys.excepthook,
as Skip suggests in his patch readme).
More information about the Python-Dev