[RFA] windows: do not crash if inferior

Christopher Faylor cgf-use-the-mailinglist-please@sourceware.org
Wed Jan 20 16:16:00 GMT 2010


On Tue, Jan 19, 2010 at 01:22:27PM +0400, Joel Brobecker wrote:
>> 2010-01-13  gingold  <gingold@adacore.com>
>> 
>>         * windows-nat.c (do_initial_windows_stuff): Call error() if the
>>         inferior doesn't exist anymore.
>
>Just some thoughts, as Chris usually reviews Windows patches...
>
>I don't see a "generic" way of dealing with this situation.  So the type
>of approach you took (returning early from do_initial_windows_stuff)
>seems to be the only approach I can see. I was initially a little
>reluctant about throwing an error: As far as I can tell from the code,
>the debugger should have already printed an error message such as
>"Inferior exited with code ..." (is that correct?) - and so an extra
>"inferior exited early" message could be considered superfluous. However,
>if you do not error-out now, core GDB will assume that target_create_inferior
>succeeded and thus possibly do something unexpected as well.
>
>Bottom line - I cannot propose a better approach short of revamping
>a bit the target_create_inferior routine to add error-handling,
>I think the patch is fine.
>
>I would suggest a different wording, to explain that we were trying
>to run the program when the error occured.
>
>    error (_("cannot run program, inferior exited prematurely during startup"));

Does inferior_thread really need the assert()?  If not, we could jsut test
tp for NULL.

Otherwise, I agree with Joel's assessment.

cgf



More information about the Gdb-patches mailing list