This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
RE: [MI] Segfault using 'interpreter-exec mi'
From: Tom Tromey [tromey@redhat.com]
>>>>> "Marc" == Marc Khouzam <marc.khouzam@ericsson.com> writes:
Marc> Thanks!
Marc> I was stuck trying to use catch_exception(), which was not working
Marc> because I needed the return value of mi_parse(), but I see that
Marc> using TRY_CATCH was the way to go.
> Yeah. For future reference, you can do that by having a trampoline
> function that has different arguments. I find TRY_CATCH a lot simpler
> though.
>> + if (exception.reason < 0)
>> + {
>> + mi_print_exception (token, exception);
>> + xfree (token);
Marc> Here, do we need an call to
Marc> mi_out_rewind (uiout)?
Marc> I don't know what it does, but I noticed it was being
Marc> called below after mi_print_exception()
> It is unclear to me what mi_out_rewind does.
> There don't seem to be any comments describing this function.
>
> So, I chose to implement this in a way that is compatible with the
> earlier code, which did not call mi_out_rewind on this path.
Thanks Tom, I tried the patch and it does exactly what I was hoping for.
I did notice one issue but it is not with your patch, but something
I missed in the fix from
http://sourceware.org/ml/gdb-patches/2010-12/msg00049.html
I will post a fix for that in 2 minutes.
Thanks again
Marc