This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [patch] Do not allow unwinder to terminate inferior in an inferior function call if a C++ exception handler cannot be found.
- From: Eli Zaretskii <eliz at gnu dot org>
- To: Phil Muldoon <pmuldoon at redhat dot com>
- Cc: gdb-patches at sourceware dot org
- Date: Fri, 24 Apr 2009 17:06:21 +0300
- Subject: Re: [patch] Do not allow unwinder to terminate inferior in an inferior function call if a C++ exception handler cannot be found.
- References: <49F17924.50300@redhat.com>
- Reply-to: Eli Zaretskii <eliz at gnu dot org>
> Date: Fri, 24 Apr 2009 09:32:36 +0100
> From: Phil Muldoon <pmuldoon@redhat.com>
>
> + add_setshow_boolean_cmd ("unwind-on-terminating-exception", no_class,
> + &unwind_on_terminating_exception_p, _("\
> +Set unwinding of stack if a std::terminate() call originates from\n\
> +the default C++ exception handler."), _("\
> +Show unwinding of stack if a std::terminate() call originates from\n\
> +the default C++ exception handler."), _("\
This is not good: the first sentence of a doc string should not take
more than one screen line, because various help commands, such as
`apropos', display only the first line. How about
Set unwinding of stack if std::terminate is called while in call dummy.
?
> +The unwind on terminating exception flag lets the user determine\n\
> +what gdb should do if a std::terminate() call is made from the\n\
> +default exception handler.\n\
> +The default is to unwind the frame."),
This doesn't tell what happens if it's set to OFF.
> +Similarly, with a C++ program it is possible for the function you
Please use C@t{++} (here and elsewhere), it looks better in the
printed manual.
> +call via the @code{print} or @code{call} command to generate an
> +exception that is not handled due to the constraints of the dummy
> +frame.
I think ``due to the constraints of the dummy frame'' needs an
explanation. I'm quite sure many C++ programmers will not immediately
grasp the nature of the problem.
> +@item set unwind-on-terminating-exception
> +@kindex set unwind-on-terminating-exception
> +@cindex unwind stack in called functions
There is already an index entry with identical text, so please change
this one to be more specific to the option you are adding.
> +Set unwinding of the stack if a C++ exception is raised but unhandled
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
either
exception is raised, but left unhandled
or
exception is raised, but non handled
> If set to off, @value{GDBN} the exception is delivered to
> +the default C++ exception handler.
This means the debuggee will be terminated, right? If so, we should
mention that explicitly.
Other than that, the patch for the manual is approved.
Thanks.