[MI] Segfault using 'interpreter-exec mi'

Marc Khouzam marc.khouzam@ericsson.com
Wed Dec 8 01:20:00 GMT 2010


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



More information about the Gdb-patches mailing list