This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: How Do I see (Disabled) data?
William Trenker <wdtrenker@yahoo.ca> writes:
> On 06 Feb 2003 14:25:59 -0500
> Jim Blandy <jimb@redhat.com> wrote:
>
> > Can you show us the exact commands you're using, and the exact output
> > from GDB?
>
> The exact gdb commands, below, are actually generated by DDD:
>
> (gdb) graph display buff
> (gdb) graph display *buff dependent on 1
> (gdb) Attempt to dereference a generic pointer.
> Disabling display 2 to avoid infinite recursion.
>
> buff is defined in the code as:
> buff = (void *)param->get_string();
>
> I should mention that I've experimented some more since my first message. I got adventurous with gdb's print command and found out I could explicitly cast the variable, like this:
>
> (gdb) print (char*)buff
> $1 = 0x8060a40 "Alex"
>
> I think I may have answered my own question -- right?
Yep. GDB isn't sure how to evaluate *p, when p has type 'void *', so
the 'display' gets an error, and GDB disables it. By casting it, you
effectively tell GDB which type to use to display it.