[patch] Do not allow unwinder to terminate inferior in an inferior function call if a C++ exception handler cannot be found.

Eli Zaretskii eliz@gnu.org
Fri Apr 24 14:06:00 GMT 2009


> 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.



More information about the Gdb-patches mailing list