Re: [patch] PR python/12438

Kevin Pouget
2011-10-21T08:42:33Z

On Wed, Oct 19, 2011 at 10:56 PM, Tom Tromey <tromey@redhat.com> wrote:
> Kevin> I have a question regarding this patch, which was committed at
> Kevin> the end of June, wouldn't GDB let the user know, one way or an
> Kevin> other, that there was something wrong happened ?
>
> I think gdbpy_print_stack is mostly called in "internal" situations,
> where printing something will mess up the output.
>
> Ordinary commands and such that fail should convert the Python exception
> to a gdb exception, leading to what you'd expect.
>
> I might be misremembering.  Concrete examples would help.

I don't think so about gdbpy_print_stack, I think it's used every time
an exception is caught, either originating from [user-] python code,
or from GDB's internals

the first example I can thing about it:

class BP(gdb.Breakpoint):
def stop(self):
raise ValueError

which will silently fail if "set python print-stack" is off

> Kevin> I don't know if Python allows to do it, but i think it would be nice
> Kevin> to see something like:
>
>>> NameError: global name 'comp' is not define
>
> Kevin> which is the last line of a python stacktrace
>
> I think it could be done.
> We can always add more values for "maint set python print-stack".

I posted a bug report for that;
http://sourceware.org/bugzilla/show_bug.cgi?id=13329

I'll give in a try in the next weeks or so, if still available

Thanks,

Kevin