Re: MI: type prefixes for values

Vladimir Prus
2006-03-20T06:50:31Z

Daniel Jacobowitz wrote:

> On Fri, Mar 17, 2006 at 07:07:17PM +0300, Vladimir Prus wrote:
>> Nick Roberts wrote:
>>
>> > 2006-03-12 Nick Roberts <nickrob@snap.net.nz>
>> >
>> > * mi/mi-cmd-stack.c (list_args_or_locals): Use common_val_print
>> > instead of print_variable_value so that type doesn't get printed
>> > with value.
>>
>> This patch is much more important that value formatting, in fact. Without
>> it, if there's local reference variable that's no initialized, we get
>> this output from gdb:
>>
>> (gdb) -stack-list-locals --all-values
>> Cannot access memory at address 0x1
>> ^error,msg="Cannot access memory at address 0x1"
>>
>> Essentially, I can't see any local variables. This patch fixes this too,
>> because, I believe, common_val_print does check for non-dereferencable
>> values. Changelogs say common_val_print was specifically added for this
>> purpose.
>
> Did you try this?

Yes, I did. I got the above error without the patch, with CVS HEAD state. I
got the list of local variables, on the same testcase, with CVS HEAD +
patch.

> I don't think it will: common_val_print was added
> for the optimized-out case, not for the memory-error case, which should
> be handled somewhere else.

I don't know why, but this patch fixes the memory error too.

- Volodya